我有两个Python文件,文件1和文件2,它们分别做两件事。我想一起运行它们。我正在使用VS2017
文件1的伪代码是:
Class A:
foo1():
.
.
foo2();
if variable<30;
#do this
else;
process = subprocess.Popen('py file2.py' ,shell=True,stdin=None, stdout=None, stderr=None, close_fds=True)
#rest of the code for foo2()
if __name__ == "__main__":
A.foo2();
我还想将变量传递给第二个文件。我正在研究类似的东西
variable = input("enter variable)
cmd = ['py file2.py', variable]
subprocess.Popen(cmd ,shell=True,stdin=None, stdout=None, stderr=None, close_fds=True)
我收到一个错误说:
'“py subproleap.py”'不被识别为内部或外部命令,可操作程序或批处理文件。
即使我传递变量,我如何获取file2.py来读取它?
任何帮助,将不胜感激。我是python的初学者。
EDIT1:为什么我使用子进程是因为我希望file2.py在后台运行,一旦条件满足,而主进程在侧面运行。
This可以回答你的问题(你使用的是shell=True
param)
但是,在file2
中导入file1
作为模块会不会更容易? (如果您还不熟悉导入,可以参考this guide)