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中对列表排序实例
Jan 04 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
python tornado微信开发入门代码
Aug 24 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 Python
Python把图片转化为pdf代码实例
Jul 28 Python
Python实现随机爬山算法
Jan 29 Python
python实现不同数据库间数据同步功能
Feb 25 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 获取远程网页内容的函数
2009/09/08 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
PHP 中常量的知识整理
2017/04/14 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
深入研究React中setState源码
2017/11/17 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python读取文件名并改名字的实例
2019/01/07 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python接收手机短信的代码整理
2020/08/02 Python
python 装饰器重要在哪
2021/02/14 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
军训心得体会
2013/12/31 职场文书
技术比武方案
2014/05/19 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
音乐会主持人开场白
2015/05/28 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
redis protocol通信协议及使用详解
2022/07/15 Redis