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中的字符串替换操作示例
Jun 27 Python
python将字典内容存入mysql实例代码
Jan 18 Python
Python中的单继承与多继承实例分析
May 10 Python
python3连接MySQL数据库实例详解
May 24 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
pandas数据处理进阶详解
Oct 11 Python
Django-imagekit的使用详解
Jul 06 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
Python预测分词的实现
Jun 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
玩转图像函数库―常见图形操作
2006/09/03 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python脚本获取操作系统版本信息
2016/12/17 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python人民币小写转大写辅助工具
2018/06/20 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
基于Python 函数和方法的区别说明
2021/03/24 Python
高中毕业自我评价
2014/02/08 职场文书
个人实习生的自我评价
2014/02/16 职场文书
还款承诺书范本
2015/01/20 职场文书
检讨书大全
2015/01/27 职场文书
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技