我使用python27的子进程lib从另一个python文件(sample.py)运行一个大的python文件(execute.py)。Python子进程在命令行和GUI控制台展现不同的行为,同时流输出
如果我在windows命令行中运行sample.py(它有子进程语句),它运行正常并且流式输出很好。
但是在python GUI控制台中,当我运行GUI python文件(具有相同的子流程语句)时,GUI窗口在某些时间输出打印为整体(而非流式处理)后未响应一段时间。
下面是摘录:
cmdlist = ["python", "execute.py","name","xyz"]
proc = subprocess.Popen(cmdlist, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in iter(proc.stdout.readline, ""):
self.output.write(line)
self.output.write("\n Finished process\n")
打我的头一个星期,但没有找到任何解决办法为止。
在打印输出之前,GUI可能会将整个输出存储在缓冲区中。 Python GUI控制台究竟意味着什么? – KartikKannapur
我的python图形用户界面附带控制台。我们可以看到任何运行的输出。我是否需要在子流程中为实时输出设置'bufsize'? – Nithya
你使用的是什么python GUI? – MisterMiyagi