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中的With语句
Feb 02 Python
python threading模块操作多线程介绍
Apr 08 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
Jan 15 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
python输出数学符号实例
May 11 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
Python 解析简单的XML数据
Jul 24 Python
Pytest测试框架基本使用方法详解
Nov 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
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
限制文本字节数js代码
2007/03/06 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
Python os模块学习笔记
2015/06/21 Python
Python对象属性自动更新操作示例
2018/06/15 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python批量爬取下载抖音视频
2019/06/17 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
Python-openCV开运算实例
2020/07/05 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
庆七一宣传标语
2014/10/08 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS