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 相关文章推荐
最大K个数问题的Python版解法总结
Jun 16 Python
Python生成密码库功能示例
May 23 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
Python中的函数式编程:不可变的数据结构
Oct 08 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
Python入门学习之类的相关知识总结
May 25 Python
Python实现科学占卜 让视频自动打码
Apr 09 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
PHP4引用文件语句的对比
2006/10/09 PHP
php session 预定义数组
2009/03/16 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
在Mac OS上搭建Python的开发环境
2015/12/24 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
python将视频转换为全字符视频
2019/04/26 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
通过Python实现一个简单的html页面
2020/05/16 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
python制作微博图片爬取工具
2021/01/16 Python
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
小学教师师德感言
2014/02/10 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL