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下,我没有验证,我打赌有点问题, 呵呵:)
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