python中执行shell命令的几个方法小结
来源:互联网 发布:软件翻译器 编辑:程序博客网 时间:2024/06/06 03:59
最近有个需求就是页面上执行shell命令,第一想到的就是os.system,
os.system('cat /proc/cpuinfo')
但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。
output = os.popen('cat /proc/cpuinfo')
print output.read()
通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值)
(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'
最后页面上还可以根据返回值来显示命令执行结果
复制代码 代码如下:
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'
最后页面上还可以根据返回值来显示命令执行结果
0 0
- python中执行shell命令的几个方法小结
- python中执行shell命令的几个方法小结
- python中执行shell命令的几个方法
- python中执行命令的3种方法小结
- python中执行DOS命令的3种方法小结
- python中执行命令的3种方法小结
- Python调用shell命令的几种方法(在新进程中执行shell命令)
- Python中执行shell命令的实例
- python中执行shell命令
- python中执行shell命令
- 【python运维】python执行shell命令的4种方法
- Python下调用Linux的Shell命令的几个方法
- vim中执行shell命令小结
- vim中执行shell命令小结
- vim中执行shell命令小结
- vim中执行shell命令小结
- python的执行shell命令
- Python中执行系统命令的方法
- RobotFramework环境配置十一:网页弹窗问题
- 关于binary log那些事——认真码了好长一篇
- runtime——核心数据类型
- mongodb安装及配置
- Q95:纹理映射(Texture Mapping)(2)——圆柱面
- python中执行shell命令的几个方法小结
- nginx与tomcat比较
- android 启动系统的功能页面Action
- idea2016 jdk 1.7启动
- 撰写博客初衷
- runtime备份
- 临时2
- apache2部署多个django project访问时网站一会正常一会不正常
- PHP 5.3.0 以上连接 mysql 数据库慢的问题