2017-03-02 62 views
1

我最近才开始与子模块的工作,所以我敢肯定,这是一个菜鸟的问题:通信和蟒蛇子

我想开始一个python-子从python 3.5.2开始。父脚本并从中检索信息:

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()),但似乎没有任何工作。

回答

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