python-->基础-->001-->基本模块使用汇总
一、python调用linux系统命令模块
import os
import commands
例如,调用系统命令执行ping操作:
使用commands模块方法:
>>> import commands
>>> result = commands.getstatusoutput('ping -c 2 8.0.0.1')
>>> print result
(, 'PING 8.0.0.1 (8.0.0.1) 56(84) bytes of data.\n\n--- 8.0.0.1 ping statistics ---\n2 packets transmitted, 0 received, 100% packet loss, time 999ms\n')
>>> result = commands.getstatusoutput('ping -c 2 127.0.0.1')
>>> print result
(, 'PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.059 ms\n64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.046 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 999ms\nrtt min/avg/max/mdev = 0.046/0.052/0.059/0.009 ms')
>>>
说明:在instance中的0和256表示的是命令执行状态返回码,0表示成功,256表示不成功(不成功的某个具体状态)。0和256后面的表示的是具体的执行返回结果。
使用os模块方法:
>>> result_01 = os.system('ping -c 2 127.0.0.1')
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.078 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.049 ms --- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.049/0.063/0.078/0.016 ms
>>> print result_01
0
>>>
>>> result_01 = os.system('ping -c 2 8.0.0.1')
PING 8.0.0.1 (8.0.0.1) 56(84) bytes of data. --- 8.0.0.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1007ms >>> print result_01
256
>>> 说明:使用os执行后结果赋值给变量,最终发现,赋值后的变量的值只有执行状态返回码而没有具体的执行结果。
总结:
使用commands比os效果好,输出结果包含执行状态返回码和具体执行结果,而且在执行过程中不会有其他输出,所有的执行结果都赋值给了变量;
使用os,不好的地发是有多余的东西输出到屏幕,并且执行结果只有执行状态返回码。
综述,推荐使用commands。
python-->基础-->001-->基本模块使用汇总的更多相关文章
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- Python基础-包与模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- python基础-包和模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- Day5 - Python基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
- Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
- Python基础5-常用模块
本节大纲 模块介绍 time &datetime模块 random os sys shutil shelve xml处理 yaml处理 configparser hashlib subproc ...
- Python基础5 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- Python基础入门-os模块
今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...
随机推荐
- 动画_ _ Android应用开发之所有动画使用详解
转载: http://blog.csdn.net/yanbober/article/details/46481171 题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把 ...
- OpenExplorer打开文件夹
Eclipse中文件打开功能,可以到https://github.com/samsonw/OpenExplorer/downloads下载最新版本,将jar包放到eclipse的plugins目录中, ...
- 图的存储,搜索,遍历,广度优先算法和深度优先算法,最小生成树-Java实现
1)用邻接矩阵方式进行图的存储.如果一个图有n个节点,则可以用n*n的二维数组来存储图中的各个节点关系. 对上面图中各个节点分别编号,ABCDEF分别设置为012345.那么AB AC AD 关系可以 ...
- yum 部署nginx
第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx ...
- gRPC Java的代码架构
RPC(远程过程调用) 的架构最常见的是"动态代理"方式,事先定义好接口,用一个代理假装实现了这个接口(真正的实现放在服务端),供客户端调用,代理内部将该方法调用封装成一个网络请求 ...
- 样例20-汽车SHOW
观看样例点这里 素材下载 1.设置场景大小为400*3002.执行:文件->导入->导入到库,选择需要的汽车图片文件,将其导入到库面板中3.按照同样的方式,在库面板中导入所需的背景音乐文件 ...
- [EventBus源码解析] 初探EventBus
本期blog作为EventBus(以下简称EB)学习的始动篇,主要记载了EB的功能.优点.使用方法,内容基于github上的README.md与HOWTO.md. 何为EventBus EB实现了An ...
- 删除空文件夹 清除CS扩展名文件 bat
删除空文件夹.删的干净.删的彻底. 将下列代码复制到txt中保存.并把后缀.txt命成.bat.然后运行即可. 方案1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- java语句练习1
public class Demo完数{ /* * 问题:求1000以内的完数(一个数等于除它本身之外的因数之和)及个数. * 分析:例如6=1+2+3 * 遍历语句:判断语句:计数器:1除外 */ ...
- js实现右侧的分享效果
就是当鼠标移到上面的时候,他会出现,鼠标移出就消失. nmouseover和nmouseout就能实现 <style> *{padding:0;margin:0;} #s1{width:2 ...