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新手经常遇到的17个错误分析
Jul 30 Python
Python and、or以及and-or语法总结
Apr 14 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python random模块用法解析及简单示例
Dec 18 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
python3的pip路径在哪
Jun 23 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
Python语言内置数据类型
Feb 24 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生成Flash动画的实现代码
2010/03/12 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
表格 隔行换色升级版
2009/11/07 Javascript
js 动态选中下拉框
2009/11/26 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
Vue精简版风格概述
2018/01/30 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python实现识别手写数字大纲
2018/01/29 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
2013年军训通讯稿
2014/02/05 职场文书
合作协议书怎么写
2014/04/18 职场文书
2015入党自荐书范文
2015/03/05 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL