python 获取子进程print信息
在 PyQt 中使用子线程读取子进程 Python 脚本的 print 输出流内容。
问题所在:
如果模块都由自己开发, 正常操作
但是因为不能改,所以只能拦截:
代码:
pythonPath = self.pythonPath_cb.currentText()
if suffix == "py":
# 首次
self.pyCommand = [pythonPath, path]
self.modifiedReloadPython(path)
def modifiedReloadPython(self, path_):
os.chdir(os.path.dirname(path_))
# 子进程调用
self.p = subprocess.Popen(self.pyCommand, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# self.stdoutWorker.p = self.p
self.stdoutWorker = Worker(self.p)
...