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 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
python中list列表的高级函数
May 17 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
Python selenium实现微博自动登录的示例代码
May 16 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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 开发环境配置(Zend Server安装)
2010/04/28 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
php字符串截取函数用法分析
2014/11/25 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
Sanic框架Cookies操作示例
2018/07/17 Python
python批量爬取下载抖音视频
2019/06/17 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
深入理解Python 多线程
2020/06/16 Python
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
golang语言指针操作
2022/04/14 Golang