我有两个 .py 文件。第一个文件执行第二个文件,并且还需要能够向第二个文件发送参数。
这是file1.py:
from subprocess import Popen, PIPE
import sys
file_names = ['one.csv' , 'two.csv']
for f in file_names:
process = Popen([sys.executable , "file2.py"] , stdout = PIPE , stdin = PIPE)
process.communicate(f)
这是file2.py:
def c(x):
print x
c(f)
第一个文件成功执行了第二个文件,但没有将参数 f 传递给第二个文件。我也尝试过使用 process.stdin.write(f) 而不是 process.communicate(f) 但这也不起作用,我宁愿使用通信而不是标准输入,因为 file2.py 的多个实例需要同时执行,不阻塞。