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 xlrd读取excel日期类型的2种方法
Apr 28 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
python 提取文件指定列的方法示例
Aug 07 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
利用Python+OpenCV三步去除水印
May 28 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简单命令代码集锦
2007/09/24 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Python生成pdf文件的方法
2014/08/04 Python
对Python中的@classmethod用法详解
2018/04/21 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
架构师岗位职责
2013/11/18 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
学校运动会感想
2015/08/10 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers