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 相关文章推荐
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
Python数据类型之String字符串实例详解
May 08 Python
Django中提供的6种缓存方式详解
Aug 05 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
简单了解python协程的相关知识
Aug 31 Python
Python 日志logging模块用法简单示例
Oct 18 Python
python 字典item与iteritems的区别详解
Apr 25 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
Python入门基础之数字字符串与列表
Feb 01 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php实现RSA加密类实例
2015/03/26 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
js创建对象的方式总结
2015/01/10 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
详解uniapp的全局变量实现方式
2021/01/11 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
django 中QuerySet特性功能详解
2019/07/25 Python
python绘制随机网络图形示例
2019/11/21 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
中等生评语大全
2014/05/04 职场文书
庆七一活动总结
2014/08/27 职场文书
通知范文怎么写
2015/04/16 职场文书
遗失证明范文
2015/06/19 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers