我有两个。py文件fileA.py和fileB.py.
fileA.py将使fileB.py运行。
但是首先,fileA.py将有一个脚本要求文件夹目录作为输入。
from pathlib import Path
import subprocess
import sys
from tkinter.filedialog import askdirectory
pathcase = askdirectory(title='path to folder')
scripts = [
'fileB.py'
]
parent = Path(__file__).resolve().parent
for script in scripts:
script_path = parent / script
subprocess.call([sys.executable, script_path])
如何制作fileB.py运行并识别"pathcase"。输入?
fileB.py有:
#!/usr/bin/env pvpython
from paraview.simple import *
from fileA import pathcase
casefoam = OpenFOAMReader(registrationName='case.foam', FileName='{}/case.foam'.format(pathcase))
现在发生的是fileA.py运行fileB.py并且每次再次请求一个输入,形成一个循环。
我建议保留一个config.py
模块来存储所有全局使用的变量,在本例中为pathcase。只需在应用程序的所有模块中导入config模块;然后,模块就可以作为全局名称使用。它的工作方式如下:
config.py
n = 10
fileA
import config
config.n = 20
fileB
import config
import fileA
print(config.n)
这样,你的代码将保持优雅,读,应该能解决你遇到的问题。:)