python中执行shell命令的几个方法小结

 更新时间:2014年09月18日 10:58:31   投稿:junjie  
这篇文章主要介绍了python中执行shell命令的几个方法,本文一共给出3种方法实现执行shell命令,需要的朋友可以参考下

最近有个需求就是页面上执行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'

最后页面上还可以根据返回值来显示命令执行结果。

相关文章

  • numpy中np.nditer、flags=[multi_index] 的用法说明

    numpy中np.nditer、flags=[multi_index] 的用法说明

    这篇文章主要介绍了numpy中np.nditer、flags=['multi_index'] 的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Python使用cProfile分析和定位应用性能瓶颈点

    Python使用cProfile分析和定位应用性能瓶颈点

    cProfile 是 Python 标准库中的一个模块,用于对 Python 程序进行性能分析,它能输出每个函数的调用次数、执行耗时等详细信息,下面我们来看看如何使用cProfile分析和定位应用性能瓶颈点吧
    2024-12-12
  • python用BeautifulSoup库简单爬虫实例分析

    python用BeautifulSoup库简单爬虫实例分析

    文章给大家分享了关于python爬虫的相关实例以及相关代码,有兴趣的朋友们参考下。
    2018-07-07
  • Python实现PS滤镜中马赛克效果示例

    Python实现PS滤镜中马赛克效果示例

    这篇文章主要介绍了Python实现PS滤镜中马赛克效果,涉及Python基于skimage库的图形马赛克效果相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • Python IO文件管理的具体使用

    Python IO文件管理的具体使用

    我们可以使用python来操作文件,比如读取文件内容、写入新的内容等,本文主要介绍了Python IO文件管理的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python中的数据对象持久化存储模块pickle的使用示例

    Python中的数据对象持久化存储模块pickle的使用示例

    这篇文章主要介绍了Python中的数据对象持久化存储模块pickle的使用示例,重点讲解了pickle中模块中对象持久化和文件读取的相关方法,需要的朋友可以参考下
    2016-03-03
  • Python实现连接MySql数据库及增删改查操作详解

    Python实现连接MySql数据库及增删改查操作详解

    这篇文章主要介绍了Python实现连接MySql数据库及增删改查操作,结合实例形式详细分析了Python安装PyMySQL模块及使用PyMySQL模块进行mysql数据库的连接、增删改查等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • python实现得到当前登录用户信息的方法

    python实现得到当前登录用户信息的方法

    这篇文章主要介绍了python实现得到当前登录用户信息的方法,结合实例形式分析了Python在Linux平台以及Windows平台使用相关模块获取用户信息的相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • Python 函数简单易理解版

    Python 函数简单易理解版

    本文将用简单易解的描述方法对Python 函数做一个详情介绍,感兴趣的朋友可以参考下文
    2021-08-08
  • python pands实现execl转csv 并修改csv指定列的方法

    python pands实现execl转csv 并修改csv指定列的方法

    今天小编就为大家分享一篇python pands实现execl转csv 并修改csv指定列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论