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实现无证书加密解密实例
Oct 27 Python
对于Python的Django框架使用的一些实用建议
Apr 03 Python
python获取当前日期和时间的方法
Apr 30 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Django如何配置mysql数据库
May 04 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
keras导入weights方式
Jun 12 Python
python中的None与NULL用法说明
May 25 Python
python处理json数据文件
Apr 11 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP chr()函数讲解
2019/02/11 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python CSV模块使用实例
2015/04/09 Python
深入浅析python with语句简介
2018/04/11 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python遍历小写英文字母的方法
2019/01/02 Python
关于python字符串方法分类详解
2019/08/20 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
体育专业学生自我评价范文
2014/01/17 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
购房协议书范本
2014/10/02 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
Android中的Launch Mode详情
2022/06/05 Java/Android