龙空技术网

Python使用os.system、os.popen、commands模块调用外部程序

雷那乐 217

前言:

现时小伙伴们对“python os执行终端命令”大约比较关心,兄弟们都想要了解一些“python os执行终端命令”的相关文章。那么小编在网摘上网罗了一些关于“python os执行终端命令””的相关知识,希望看官们能喜欢,大家一起来了解一下吧!

导读

Python内置调用外部命令:

os.systemos.popenos.popen2os.popen3os.popen4commands模块subprocess模块

在Python3中,将os.popen2、os.popen3、os.popen4、commands等模块方法移除
所以不用花精力了解,可以绕过了

os.system方法

os.system("cmd") 调用外部命令,使用非常简单

程序只能返回命令运行返回码:0正常,1异常;但无法捕获cmd进程执行结果

优点:使用简单,可以执行一句话cmd行
缺点:无法获取cmd执行结果,不能进行交互式调用,以及复杂调用操作

os.popen、os.popen2、os.popen3、os.popen4方法

该popen函数族,通过管道与调用外部命令交互通讯

popen函数族调用方与被调用外部cmd进程之间建立一个通讯管道,通过管道实现与外部cmd进程交互通讯

os.popen: 只捕获标准输出,捕获不到标准错误os.popen2:返回2个对象,一个是标准输入,一个是标准输出os.popen3:返回3个对象,标准输入,标准输出,标准错误输出os.popen4:返回2个对象,pip_in和pip_out_err,pip_in是标准输入,而标准输出和标准错误都在一个管道pip_out_err

os.popen示例一:

os.popen示例二:

os.popen2返回2个对象,一个是标准输入,一个是标准输出,示例:

os.popen3返回3个对象,标准输入,标准输出,标准错误输出

commands模块

commands是Python的内置模块,可以调用Linux shell命令

该模块主要提供三个函数:

commands.getoutput('cmd') 执行cmd命令,并返回执行结果commands.getstatus('file') 输入文件路径,返回ls -ld file执行结果commands.getstatusoutput('cmd') 执行cmd命令,返回一个结果元组(status, result),result包含标准输出和标准错误

commands模块使用示例:

最后

如果内容有误,欢迎评论区指正!

喜欢我的朋友们,麻烦点一波关注,谢谢!

标签: #python os执行终端命令