专栏名称: Python程序员
最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动
目录
相关文章推荐
Python中文社区  ·  三年稳赚40倍!用布林带挤压策略跑赢特斯拉 ·  昨天  
Python爱好者社区  ·  DeepSeek彻底爆了! ·  3 天前  
Python爱好者社区  ·  DeepSeek 被放弃了,阿里牛逼! ·  2 天前  
Python爱好者社区  ·  付费上班终于成为了现实。 ·  2 天前  
Python爱好者社区  ·  刚刚,DeepSeek放出重磅论文!梁文锋亲 ... ·  4 天前  
51好读  ›  专栏  ›  Python程序员

在python中执行shell命令的6种方法

Python程序员  · 公众号  · Python  · 2018-06-27 08:10

正文

Python经常被称作“胶水语言”,因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。今天我们就讲解其中的一个方面,用Python调用Shell命令。


用Python调用Shell命令有如下几种方式:


第一种:

os.system("The command you want").


这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的。


第二种:

os.popen(command[,mode[,bufsize]])

先给大家看个例子

可以看出,popen方法通过p.read()获取终端输出,而且popen需要关闭close().当执行成功时,close()不返回任何值,失败时,close()返回系统返回值. 可见它获取返回值的方式和os.system不同。


第三种,使用commands模块 ,同样看一组例子。


根据你需要的不同,commands模块有三个方法可供选择。getstatusoutput, getoutput, getstatus。


但是,如上三个方法都不是Python推荐的方法,而且在Python3中其中两个已经消失。Python文档中目前全力推荐第四个方法, subprocess!

subprocess使用起来同样简单:







请到「今天看啥」查看全文