程序从python3中的subprocess.run()运行,无法创建文件

问题描述 投票:0回答:1

我有一个应该创建文本文件的程序。在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-3.x subprocess
1个回答
0
投票

该文件位于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)
© www.soinside.com 2019 - 2024. All rights reserved.