Chinaunix
标题:
subprocess能使用>吗
[打印本页]
作者:
追忆的风筝
时间:
2012-10-18 09:37
标题:
subprocess能使用>吗
使用python的subprocess执行命令,如果命令有重定向符号>,那如何实现呢?
比如执行命令echo "abc" > abc.txt
当然,其实可以用subprocess对象的stdout属性获取输出结果,然后写入文件,先不借助这种方法。
作者:
Hadron74
时间:
2012-10-18 11:38
回复
1#
追忆的风筝
弱弱的说,是不是可以使用os.system呢?
作者:
追忆的风筝
时间:
2012-10-18 11:53
回复
2#
Hadron74
os.system()、os.popen()之类的方法可以执行命令,但官方已经不推荐使用了。
其实用subprocess还有个方法,stdout=文件对象,也可以直接将结果输出,但有什么方法用>吗?
作者:
linux_c_py_php
时间:
2012-10-18 13:11
[root@vps616 python]# cat output.txt
hello world
[root@vps616 python]# cat main.py
#python2.7.3
#coding=utf-8
import subprocess
subprocess.call("echo 'hello world' > output.txt", shell = True)
复制代码
默认是fork+exec, 程序路径依赖PATH.
加上shell后是fork + exec(/bin/bash -c command), 是由bash解析命令的, 所以支持重定向.
作者:
syshack
时间:
2012-10-26 19:10
这个帮助里写的很明白~help(subprocess) 我想你懂的
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2