python中执行shell命令的几个方法小结


Posted in Python onSeptember 18, 2014

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,

os.system('cat /proc/cpuinfo')

但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。

尝试第二种方案 os.popen()

output = os.popen('cat /proc/cpuinfo')

print output.read()

通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值)

尝试第三种方案 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')

print status, output

Python Document 中给的一个例子,
>>> 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'

最后页面上还可以根据返回值来显示命令执行结果。
Python 相关文章推荐
Python实现周期性抓取网页内容的方法
Nov 04 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Python实现的爬虫功能代码
Jun 24 Python
K-means聚类算法介绍与利用python实现的代码示例
Nov 13 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
用pycharm开发django项目示例代码
Oct 24 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
python 实现单通道转3通道
Dec 03 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
使用Keras训练好的.h5模型来测试一个实例
Jul 06 Python
python 解决函数返回return的问题
Dec 05 Python
Django url 路由匹配过程详解
Jan 22 Python
python处理PHP数组文本文件实例
Sep 18 #Python
Python threading多线程编程实例
Sep 18 #Python
Python中捕捉详细异常信息的代码示例
Sep 18 #Python
python字符串连接的N种方式总结
Sep 17 #Python
Python实现的检测web服务器健康状况的小程序
Sep 17 #Python
python写的一个squid访问日志分析的小程序
Sep 17 #Python
python进程管理工具supervisor使用实例
Sep 17 #Python
You might like
Adodb的十个实例(清晰版)
2006/12/31 PHP
php5.2时间相差8小时
2007/01/15 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
Python学习笔记(二)基础语法
2014/06/06 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python程序控制NAO机器人行走
2019/04/29 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
银行求职推荐信范文
2013/11/30 职场文书
化学实验员岗位职责
2013/12/28 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
法制宣传标语集锦
2014/06/25 职场文书
水电施工员岗位职责
2015/04/11 职场文书
门店店长岗位职责
2015/04/14 职场文书
降价通知函
2015/04/23 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
田径运动会通讯稿
2015/07/18 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
python数字图像处理:图像的绘制
2022/06/28 Python