有没有一种方法可以让我在运行另一个脚本的同时,像自己执行脚本一样容易地得到输出。
例如:
我用os.popen3操作系统要执行的命令abc.py公司,但无法从获取输出abc.py公司就像我做python abc.py
一样容易;似乎我需要等待os.popen3操作系统完成命令:
fin, fout, ferr=os.popen3("abc.py")
out = fout.read()
err = ferr.read()
fo.write(out)
fe.write(err)
print out
print err
[EDIT]:fo和fe分别是输出和错误日志的文件句柄。在
另外,在pygtk中,我使用什么小部件来填充输出?在
您提到了PyGtk,但您可以尝试一下PyQt,尤其是QProcess类,它有一些很好的信号,比如:
使用PyGtk寻找类似的工具。
subprocess模块是可选的,但棘手的部分是跟踪输出与gtk的主循环不平行,要实现这个目标,必须考虑您正在处理的平台,如果您在linux中,您可以轻松地运行另一个线程并使用
gtk.gdk.threads_init
在pygtk中使用线程,但是如果您计划在windows上运行应用程序,那么应该使用生成器和gobject.idle_添加。关于小部件,请使用与
gtk.TextView
关联的gtk.TextBuffer
下面是一个线程示例
在
^{pr2}$extranger.py
请注意,即使在并行更新的情况下,按钮仍然会响应。
是一种更好的方法来处理其他脚本的输入、输出和错误。
相关问题 更多 >
编程相关推荐