导读
Python内置调用外部命令:
- os.system
- os.popen
- os.popen2
- os.popen3
- os.popen4
- commands模块
- 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模块使用示例:
最后
如果内容有误,欢迎评论区指正!
喜欢我的朋友们,麻烦点一波关注,谢谢!