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写的Socks5协议代理服务器
Aug 06 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
python中引用与复制用法实例分析
Jun 04 Python
详解Python装饰器由浅入深
Dec 09 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
python版本单链表实现代码
Sep 28 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
Keras自定义IOU方式
Jun 10 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
python 中的命名空间,你真的了解吗?
Aug 19 Python
python实现发送带附件的邮件代码分享
Sep 22 Python
python 实现端口扫描工具
Dec 18 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简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP安全防范技巧分享
2011/11/03 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python之父谈Python的未来形式
2016/07/01 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
为什么相对PHP黑python的更少
2020/06/21 Python
超级实用的8个Python列表技巧
2020/08/24 Python
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
大学秋游活动方案
2014/02/11 职场文书
自主招生学校推荐信
2014/09/26 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
简易离婚协议书范本
2014/10/24 职场文书
创业计划书之餐饮
2019/09/02 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA