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 相关文章推荐
python3编写C/S网络程序实例教程
Aug 25 Python
改进Django中的表单的简单方法
Jul 17 Python
python中logging库的使用总结
Oct 18 Python
python编程通过蒙特卡洛法计算定积分详解
Dec 13 Python
python+tkinter编写电脑桌面放大镜程序实例代码
Jan 16 Python
python中requests和https使用简单示例
Jan 18 Python
Python 多维List创建的问题小结
Jan 18 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
分享Python异步爬取知乎热榜
Apr 12 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使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
Python字符串处理函数简明总结
2015/04/13 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
python自动点赞功能的实现思路
2020/02/26 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
J2EE系统只能是基于web
2015/09/08 面试题
我的动漫时代的创业计划书范文
2014/01/27 职场文书
音乐专业自荐信
2014/02/07 职场文书
玄武湖导游词
2015/02/05 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
Mysql忘记密码解决方法
2022/02/12 MySQL