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 13 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
Python不同目录间进行模块调用的实现方法
Jan 29 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
windows下python安装pip方法详解
Feb 10 Python
python实现测试工具(一)——命令行发送get请求
Oct 19 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
CocosCreator ScrollView优化系列之分帧加载
Apr 14 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实现验证码功能
2006/10/09 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
js 数组操作代码集锦
2009/04/28 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
学习张林森心得体会
2014/09/10 职场文书
写景作文评语集锦
2014/12/25 职场文书
护理专业自荐信范文
2015/03/06 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers