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数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Java及python正则表达式详解
Dec 27 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
python实现网页自动签到功能
Jan 21 Python
10款最好的Python开发编辑器
Jul 03 Python
简单了解python数组的基本操作
Nov 26 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 Python
python数据类型强制转换实例详解
Jun 22 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
关于python3.9安装wordcloud出错的问题及解决办法
Nov 02 Python
opencv检测动态物体的实现
Jul 21 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
PHP实现文件安全下载
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
js 省地市级联选择
2010/02/07 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
JavaScript定时器使用方法详解
2020/03/26 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
python中二维阵列的变换实例
2014/10/09 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
python利用不到一百行代码实现一个小siri
2017/03/02 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
在校生党员自我评价
2013/09/25 职场文书
制定岗位职责的原则
2013/11/08 职场文书
职业教育毕业生求职信
2013/11/09 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
单位接收证明格式
2015/06/18 职场文书
安全守法证明
2015/06/23 职场文书