我最近才开始使用子进程模块,所以我确信,这是一个新手问题:
我正在尝试从python 3.5.2启动python-subprocess。父脚本并从中检索信息:
import subprocess
process = subprocess.Popen(
'C:\\IDLEX (Python GUI).exe',
shell = True,
stdout = subprocess.PIPE,
)
while True:
lines = process.stdout.readlines()
for line in lines:
print (line)
我必须在子进程中给出什么命令才能在父进程中生成输出?
我已经尝试print('something')
和sys.stdout.write('something else')
(加上sys.stdout.flush()
),但似乎没有任何效果。
答案 0 :(得分:1)
子进程正在运行,其输出已定向到父进程。由于'C:\\IDLEX (Python GUI).exe'
没有将任何内容刷新到stdout
,因此没有生成输出。
您的脚本正在运行:
process = subprocess.Popen(
'echo Hello World', # or change to any other executable or script to test
shell = True,
stdout = subprocess.PIPE,
)
输出:
Hello World
您可以尝试直接在cmd中运行C:\\IDLEX (Python GUI).exe
进行检查。