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和bash统计CPU利用率的方法
Jul 10 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
Python命令启动Web服务器实例详解
Feb 23 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
Python中的延迟绑定原理详解
Oct 11 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
python属于哪种语言
Aug 16 Python
Python使用grequests并发发送请求的示例
Nov 05 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 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 rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python实现批量下载图片的方法
2015/07/08 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
python基于event实现线程间通信控制
2020/01/13 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
小学信息技术教学反思
2014/02/10 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
初中学生评语大全
2014/04/24 职场文书
庭外和解协议书
2016/03/23 职场文书
60句有关成长的名言
2019/09/04 职场文书