星期日, 九月 02, 2007

python 中执行外部命令并得到输出

在python中实现这个相当简单:
pipe = os.popen(command)
text = pipe.read()
pipe.close()

在Linux下,如果这个command是带重定向的,这里也可以正常使用,比如command是" echo sskdf > ttt ",那么执行后,ttt文件会生成, 上面代码中的text就是空字符串了。

而如果标准错误输出没有定向的话,也会从上面的pipe读进来,比如command是 " cp sdfjsfd skfdjdf > ttt ",  这里两个文件名都是不存在的,所以cp命令会在标准错误输出送出一些提示信息, 它不会被定向到ttt文件,所以也会被pipe截取到字符串中。

Windows下,我没有验证,我打赌有点问题, 呵呵:)

0 Comments:

发表评论

<< Home