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爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
Python中进程和线程的区别详解
Oct 29 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
python Django中models进行模糊查询的示例
Jul 18 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
python实现感知机模型的示例
Sep 30 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
Python机器学习三大件之一numpy
May 10 Python
Python OpenCV之常用滤波器使用详解
Apr 07 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
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
prototype class详解
2006/09/07 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python微信公众号开发简单流程
2018/03/23 Python
python db类用法说明
2020/07/07 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
称象教学反思
2014/02/03 职场文书
一岗双责责任书
2014/04/15 职场文书
承诺保证书格式
2015/02/28 职场文书
技术员个人工作总结
2015/03/03 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android