python怎么执行shell命令

 我来答
好口子
2016-08-15 · 好口子,手把手教你维护好你的征信!
好口子
采纳数:29399 获赞数:66629

向TA提问 私信TA
展开全部
工具/原料

Python环境
方法/步骤

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使用起来同样简单:


接调用命令,返回值即是系统返回。shell=True表示命令最终在shell中运行。Python文档中出于安全考虑,不建议使用
shell=True。建议使用Python库来代替shell命令,或使用pipe的一些功能做一些转义。官方的出发点是好的,不过真心麻烦了很多,
so.... 如果你更关注命令的终端输出,可以如下图这样操作, 同样很简单.
Wz_LOVE_Cdj
2016-08-15 · TA获得超过650个赞
知道小有建树答主
回答量:710
采纳率:54%
帮助的人:373万
展开全部
导入OS模块就行了
import os
os.system("你的shell命令")
比如os.system("ls -al")
其他方法还可以用
os.popen("你的shell命令")
区别在于os.system("你的shell命令"),只关心命令执行
os.popen("你的shell命令")可以获取命令的查询结果
还有一些方法如subprocess,command都类似
比如
import subprocess
subprocess.call("你的shell命令")#和os.system("你的shell命令") 类似
subprocess.Popen("你的shell命令")#和os.popen("你的shell命令")可以获取命令的查询结果类似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式