python执行使用shell命令方法分享


Posted in Python onNovember 08, 2017

1. os.system(shell_command)

直接在终端输出执行结果,返回执行状态0,1

此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示。这实际上是使用C标准库函数system()实现的。

缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果

os.system('cat /etc/passwdqc.conf')

2. os.popen()

打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r')。如果mode为'r',可以使用此函数的返回值调用read()来获取command命令的执行结果。

os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。

tmp = os.popen('ls -l *').readlines()

3. commands.getstatusoutput(command)

使用commands.getstatusoutput(command)函数执行command命令并返回一个元组(status,output),分别表示command命令执行的返回状态和执行结果。对command的执行实际上是按照{command;} 2>&1的方式,所以output中包含控制台输出信息或者错误信息。output中不包含尾部的换行符。

(status, output) = commands.getstatusoutput("netstat -apn|grep {0} | awk '{{{1}}}' |xargs echo ".format(port, 'print $7'))
rr = re.compile(r'(\d+)/java')

op = rr.findall(output) #查找所有包含'java'的单词 

for i in range(len(op)):
  os.system("kill -9 {0}".format(op[i]))

#按照标志杀进程
os.system("ps -ef | grep {0} | awk '{{{1}}}' | xargs kill -9".format(key, 'print $2'))

实际使用时感觉 commands.getstatusoutput(command)用起来比较方便,根据实际要实现的功能使用吧

总结

以上就是本文关于python执行使用shell命令方法分享的全部内容,希望对大家有所帮助,感兴趣的朋友可以继续参阅本站:python通过socket实现多个连接并实现ssh功能详解、Python基础练习之用户登录实现代码分享、Python入门之三角函数全解【收藏】等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中使用item()方法遍历字典的例子
Aug 26 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
python监控文件或目录变化
Jun 07 Python
判断网页编码的方法python版
Aug 12 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
python Gunicorn服务器使用方法详解
Jul 22 Python
python深copy和浅copy区别对比解析
Dec 26 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 #Python
Python基础练习之用户登录实现代码分享
Nov 08 #Python
python实现简单中文词频统计示例
Nov 08 #Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 #Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 #Python
Python入门之三角函数全解【收藏】
Nov 08 #Python
Python入门之三角函数tan()函数实例详解
Nov 08 #Python
You might like
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP内置加密函数详解
2016/11/20 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
js中的闭包实例展示
2018/11/01 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
python paramiko模块学习分享
2017/08/23 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
OpenCV 边缘检测
2019/07/10 Python
python实现的自动发送消息功能详解
2019/08/15 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
儿科主治医生个人求职信
2013/09/23 职场文书
公司新年寄语
2014/04/04 职场文书
给老婆的保证书
2015/01/16 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
索尼ICF-5900W收音机测评
2022/04/24 无线电
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript