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根据出生日期返回年龄的方法
Mar 26 Python
python算法表示概念扫盲教程
Apr 13 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
python算法题 链表反转详解
Jul 02 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
numpy.linalg.eig() 计算矩阵特征向量方式
Nov 29 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
keras topN显示,自编写代码案例
Jul 03 Python
Python中logging日志的四个等级和使用
Nov 17 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
图书管理程序(三)
2006/10/09 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
详解在Python中处理异常的教程
2015/05/24 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python线程创建和终止实例代码
2018/01/20 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
Overload和Override的区别
2012/09/02 面试题
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
小学体育教学反思
2014/01/31 职场文书
体育运动口号
2014/06/09 职场文书
学校搬迁方案
2014/06/15 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
2015年副班长工作总结
2015/05/15 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS