我有一个应该创建文本文件的程序。在python3中从subprocess.run()调用时,程序会运行,但不会创建文本文件。从终端调用时,程序将按预期工作。
import subprocess as subp
...
comm=[os.getcwd()+'/test/myprogram.bin','arg1','arg2']
compl_proc = subp.run(comm,
capture_output=True,
text=True,
check=True)
该文件位于python脚本目录中,因为我从未告诉subprocess.run()
子进程的当前工作目录是什么。因此添加了cwd='...'
。
import subprocess as subp
import os
...
comm=[os.getcwd()+'/test/myprogram.bin','arg1','arg2']
compl_proc = subp.run(comm,
cwd=os.getcwd()+'/test/',
capture_output=True,
text=True,
check=True)