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使用marshal模块序列化实例
Sep 25 Python
在Python下尝试多线程编程
Apr 28 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
python实现学生管理系统
Jan 11 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
解决echarts中饼图标签重叠的问题
May 16 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
python如何控制进程或者线程的个数
Oct 16 Python
OpenCV-Python模板匹配人眼的实例
Jun 08 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
PHP6新特性分析
2016/03/03 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
php微信开发之关注事件
2018/06/14 PHP
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
学python安装的软件总结
2019/10/12 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
Python request使用方法及问题总结
2020/04/26 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
印尼网上商店:Alfacart.com
2019/03/11 全球购物
当当网软件测试笔试题
2015/11/24 面试题
机电一体化职业规划书
2014/01/07 职场文书
授权委托书范本
2014/04/03 职场文书
志愿者活动总结
2014/04/28 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
求职自我评价怎么写
2015/03/09 职场文书
2016年国陪研修感言
2015/11/18 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL