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 04 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 Python
python多线程socket编程之多客户端接入
Sep 12 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Python json模块与jsonpath模块区别详解
Mar 05 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
解决python3中os.popen()出错的问题
Nov 19 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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/11/25 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php的大小写敏感问题整理
2011/12/29 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
js实现消息滚动效果
2017/01/18 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
Python中的元类编程入门指引
2015/04/15 Python
怎样使用Python脚本日志功能
2016/08/14 Python
详谈python http长连接客户端
2017/06/12 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
轻松制作精彩视频:Animoto
2018/09/19 全球购物
八年级语文教学反思
2014/02/11 职场文书
写求职信有什么意义
2014/02/17 职场文书
工程质量承诺书范文
2014/03/27 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
九九重阳节致辞
2015/07/31 职场文书
工程主管竞聘书
2015/09/15 职场文书
python多线程方法详解
2022/01/18 Python
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
tomcat下部署jenkins的方法
2022/05/06 Servers