一. commands 模块
 
1.commands 模块只使用与linxu 的shell 模式下
在我们平时码字时,经常需要调用系统脚本或者系统命令来解决很多问题,接下来,我们就介绍给大家一个很好用的模块commands,可以通过python 调用系统命令,调用系统命令commands 模块提供了三种解决方法,cmd 代表系统命令
 
1》commands.getoutput(cmd)
只返回执行 shell 命令结果:
 
eg1:
[root@www pythonscripts]# cat 1.py
#!/usr/bin/python
#conding = utf-8
 
import commands
 
cmd = 'ls /home/'
print commands.getoutput(cmd)
print type(commands.getoutput('cmd'))
 
运行:
[root@www pythonscripts]# python 1.py
lost+found
zabbix
<type 'str'>
 
 
2》commands.getstatusoutput(cmd)
在上面我们执行shell命令的时候,我们的shell命令可能执行报错,或者异常退出,我们就要有一个条件来判断,shell最终执行的结果是什么。commands.getstatusoutput(cmd)的返回结果有两个值。
 
[root@www pythonscripts]# cat 1.py
#!/usr/bin/python
# coding=utf-8
 
import commands
print '1.####commands 只对shell命令的结果输出####'
cmd1 = 'ls /home/'
print commands.getoutput(cmd1)
print type(commands.getoutput('cmd1'))
print '\n'
 
print '2.####commands.getstatusouptput 对shell命令的状态和输出结果进行输出####'
cmd2 = 'ps -ef | grep httpd'
c = status,output = commands.getstatusoutput(cmd2)
print type(c)
status,output = commands.getstatusoutput(cmd2)
print status
print type(status)
print output
print type(output)
 
结果:
 
解释:
commands.getstatusoutput(cmd)的返回结果是一个tuple,第一个值是shell 执行的结果,如果shell 执行成功,返回0,否则为非0.第二个是一个字符串,就是我们shell 命令的执行结果,python通过一一 对应的方式复制给status 和 output,这个就是python 语言的巧妙之处。
 
###commands.getstatusoutput 的返回值是一个tuple类型
### 第一个值接收状态码,返回结果是一个init类型,如果返回值是0,说明执行正常,如果为非0,结果异常。
### 第二个接收返回结果,返回结果是一个str 类型
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python 基础 7.5 commands 模块的更多相关文章

  1. python基础(10)--模块

    模块(module) 模块,用一坨代码实现了某个功能的代码集合 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来 ...

  2. Python基础(十)-模块

    模块初识 一般把不同功能代码放到不同py文件,一个py文件就是一个模块 三种模块库: 1.Python标准库 2.第三方库 3.自定义库 导入模块:import 库名 (Python解释器只认识执行文 ...

  3. 第六章:Python基础の反射与常用模块解密

    本课主题 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re ...

  4. python基础学习十 logging模块详细使用【转载】

    很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出 ...

  5. Python基础(12)--模块

    本文地址:http://www.cnblogs.com/archimedes/p/python-modules.html,转载请注明源地址. 模块简介 如果你退出 Python 解释器重新进入,以前创 ...

  6. python之返回状态commands模块

    需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块commands很容易做到以上的效果. commands.getstatusoutput(cmd)  返回一个元组(status, ...

  7. Python基础系列讲解——random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  8. python基础学习笔记——collections模块

    在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...

  9. Python基础语法05--函数模块

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

随机推荐

  1. 使用证书登陆Linux服务器

    CentOS 7 SSH使用证书登录 https://blog.csdn.net/long690276759/article/details/53535464 切记: 0.私钥放在client,公钥放 ...

  2. 【IDEA】(3)---非常实用提高开发效率和水平的插件

    IDEA(3)-Mac中IDEA插件 IDEA提供了许多很实用的插件,能够大大提高开发效率和开发水平,这里列举几个很实用的插件. 说明:这边的IDEA是MAC系统. 一.插件管理界面简介 1.界面位置 ...

  3. POJ 2486 Apple Tree [树状DP]

    题目:一棵树,每个结点上都有一些苹果,且相邻两个结点间的距离为1.一个人从根节点(编号为1)开始走,一共可以走k步,问最多可以吃多少苹果. 思路:这里给出数组的定义: dp[0][x][j] 为从结点 ...

  4. 查询执行慢的SQL

    --执行慢的SQL: SELECT S.SQL_TEXT, S.SQL_FULLTEXT, S.SQL_ID, ROUND(ELAPSED_TIME / 1000000 / (CASE WHEN (E ...

  5. mac 下mysql常用命令

    是那种单独安装的mysql 启动: /usr/local/mysql/bin/mysql -u root -p

  6. DotnetBrowser入门教程-入门

    在.net core时代,web开发基本可以用.net core 2.0取代了.但是在传统领域,桌面开发仍然是不可以抛弃的,譬如: 1.用户需要和串口或者硬件打交道. 2.用户只想简单的安装好就使用, ...

  7. GLSL逐像素光照 【转】

    转载:http://blog.csdn.net/hgl868/article/details/7872414 逐像素的方向光(Directional Light per Pixel) 这一节将把前面的 ...

  8. java 几个线程池的理解

    http://www.cnblogs.com/dolphin0520/p/3932921.html 这个文章写的很好

  9. 一个端口划到多个VLAN

    不想启路由的情况下,希望将一个端口划到多个VLAN中去,其目的有如下几点: 1.隔离不想让相互访问的端口.(如两个部门) 2.让都需要访问的端口划到所有VLAN.(如共享服务器) 3.不启路由协议.( ...

  10. ArcGIS教程:面积制表

    摘要 计算两个数据集之间交叉制表的区域并输出表. 插图 使用方法 · 区域定义为输入中具有同样值的全部区.各区无需相连. 栅格和要素数据集都可用于区域输入. · 假设区域输入和类输入均为具有同样分辨率 ...