python指定目录运行shell_python中执行shell命令的4种方式

本文介绍了Python中执行shell命令的四种方法:os.system、os.popen、commands模块(getstatusoutput, getoutput, getstatus)以及推荐的subprocess模块。详细解释了每个方法的使用和返回值,并提醒在Python3中commands模块的部分方法已弃用,推荐使用subprocess,同时讨论了使用shell=True的安全性问题。" 113402553,10540207,使用LSTM进行语言建模预测最优词,"['自然语言处理', '深度学习', 'LSTM模型', '文本预测']
摘要由CSDN通过智能技术生成

Python经常被称作“胶水语言”,因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。下面是学习啦小编收集整理的python中执行shell命令的4种方式,希望对大家有帮助~~

python中执行shell命令的4种方式

工具/原料

Python环境

方法/步骤

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

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

447dc95180731788b69072429bbf505d.png

使用commands模块,图中是一组例子。根据你需要的不同,commands模块有三个方法可供选择。getstatusoutput, getoutput, getstatus。

a03455c41d807e8027c7a20483ebbc7a.png

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

f390fe7f5fc7fc732a7f32e874a9ce7f.png

直接调用命令,返回值即是系统返回。shell=True表示命令最终在shell中运行。Python文档中出于安全考虑,不建议使用shell=True。建议使用Python库来代替shell命令,或使用pipe的一些功能做一些转义。官方的出发点是好的,不过真心麻烦了很多, so.... 如果你更关注命令的终端输出,可以如下图这样操作, 同样很简单.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值