我正在尝试从python脚本中运行python文件。我怀疑该文件甚至一开始就已经运行,并且在标准输出中也没有显示任何内容供我调试。
我已经在子进程中尝试了命令'ls',并且可以正常工作,并且位于我要运行的temp.py文件所在的正确目录中。
当我尝试设置参数'shell = True'时,出于某种原因,我将我带入python repl中。
这是字符串输出:
Terminal output: CompletedProcess(args=['python3', 'temp.py'], returncode=0, stdout=b'')
这是用于生成它的代码:
result = subprocess.run(['python3', 'temp.py'], stdout=subprocess.PIPE, check=True)
print('Terminal output: '+str(result))
编辑 我也尝试过
process = Popen(['python3', 'temp.py'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
print('Terminal output: '+str(stdout)+str(stderr))
没有雪茄:
Terminal output: b''b''
答案 0 :(得分:0)
因此,我找到了一个可行的替代方法。我将文件的所有内容都以'-c'扩展名转储到了python3命令中。
process = Popen(['python3','-u', '-c', strCode], stdout=PIPE, stderr=PIPE)
strCode是文件的内容。