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两种遍历字典(dict)的方法比较
May 29 Python
python中实现定制类的特殊方法总结
Sep 28 Python
Python选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
Windows下python3.7安装教程
Jul 31 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
Visual Studio Code搭建django项目的方法步骤
Sep 17 Python
详解KMP算法以及python如何实现
Sep 18 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
Nov 11 Python
解决numpy和torch数据类型转化的问题
May 23 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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 $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
合伙协议书
2014/04/23 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
社区党建工作总结2015
2015/05/13 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript