Python执行系统命令的方法 os.system(),os.popen(),commands
2015-12-30 19:00
851 查看
最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类。
最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的。
但是这样是无法获得到输出和返回值的,继续 Google,之后学会了 os.popen()。
通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是怎么读取程序执行的返回值呢,当然咯继续请教伟大的 Google。Google 给我指向了 commands
— Utilities for running commands。
这样通过 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。
Python Document 中给的一个例子,很清楚的给出了各方法的返回。
最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的。
os.system('cat /proc/cpuinfo') |
output = os.popen('cat /proc/cpuinfo') print output.read() |
— Utilities for running commands。
这样通过 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo') print status, output |
>>> import commands >>> commands.getstatusoutput('ls /bin/ls') (0, '/bin/ls') >>> commands.getstatusoutput('cat /bin/junk') (256, 'cat: /bin/junk: No such file or directory') >>> commands.getstatusoutput('/bin/junk') (256, 'sh: /bin/junk: not found') >>> commands.getoutput('ls /bin/ls') '/bin/ls' >>> commands.getstatus('/bin/ls') '-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls' |
相关文章推荐
- leetcode之Minimum Depth of Binary Tree
- Windows运行Python服务
- Python编程的中文问题
- Python 2.2 定义函数
- python-numpy一些方法总结
- 《python进行自然语言处理》练习处理HTML内容的时候出现ImportError: No module named BeautifulSoup错误
- 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)
- 我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)
- python ---用户输入
- python --study address
- python读取xml文件
- Python实现批处理
- python中一些实用而有趣的模块
- 笨方法学Python(16-20)
- Python学习笔记——命令行下的输入输出
- (ubuntu环境下)浏览器(通过cgi)调用外部程序
- 解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'
- python 并发编程(多进程、多线程、gevent)
- [LeetCode]题解(python):094-Binary Tree Inorder Traversal
- python实现的 K-近邻算法代码详细解释