如何将标准输出转换为字符串(Python)
我需要把我通过子进程执行的程序的输出结果(stdout)抓取到一个字符串里,然后把这个字符串放到我正在创建的wx应用程序的文本框(TextCtrl)中。我该怎么做呢?
补充:我还想知道怎么判断一个程序什么时候结束。
2 个回答
2
看看这个叫做subprocess的模块。
http://docs.python.org/library/subprocess.html
这个模块可以让你做很多和在命令行里一样的输入输出重定向。
如果你想要重定向当前脚本的输出(也就是stdout),其实只需要找到正确的文件句柄就可以了。记得,stdin是0,stdout是1,stderr是2,不过最好再确认一下。我可能记错了。
10
来自 subprocess 文档:
from subprocess import *
output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]