一. 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. NGINX配置获取CloudFlare 下的访客真实IP并记录到日志

    我用的是lnmp.org的环境 /usr/local/nginx/conf/nginx.conf 在 http { } 部分增加 map $HTTP_CF_CONNECTING_IP $clientR ...

  2. my.ini配置详解

    Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM ...

  3. Gym 101064 D Black Hills golden jewels 【二分套二分/给定一个序列,从序列中任意取两个数形成一个和,两个数不可相同,要求求出第k小的组合】

    D. Black Hills golden jewels time limit per test 2 seconds memory limit per test 256 megabytes input ...

  4. ELK之filebeat替代logstash收集日志

    filebeat->redis->logstash->elasticsearch 官网下载地址:https://www.elastic.co/downloads/beats/file ...

  5. luogu P3376 【模板】网络最大流(no)ek

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  6. 笔记-迎难而上之Java基础进阶8

    函数式接口 函数式接口:有且只有一个抽象方法的接口,(可以包含其他默认,静态,私有方法) //函数式接口的使用,创建一个函数式接口 public interface FunctionalInterfa ...

  7. 转:浅析Collections.sort

    浅析Collections.sort 问题引入   在之前的一次Java上机实习中,老师布置了一道很简单的题: 从控制台输入10个整数,对它们进行升序排序并输出.   考虑到只有10个数,需要比较的次 ...

  8. Vagrant + PHPStorm 使用 Xdebug

    PHPStorm设置 打开您的项目,一旦打开,转到首选项并在语言和框架> PHP分支下查找解释器. 使用解释器旁边的三个点按钮[...]添加一个新的解释器,这将打开一个新的选项窗口. 在新窗口的 ...

  9. 【前端GUI】—— 网站美工必须掌握的PS知识点&思维导图

    前言:前端离不开与设计的沟通,有时候还需要自己上手改动甚至设计网页,所以这里简单梳理一下近期学习的“网站美工”相关知识及练习.(工作用不上的时候,自己玩儿着也蛮有意思的,哈哈(*゚∀゚*)~) 一.P ...

  10. Django和Flask的区别以及运行流程

    Django: Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理.但是缺点也 ...