cmd无法识别javac命令_Python使用内置方法、模块调用外部命令

导读

699e3ce83624957ffdf02b8d8cccac2d.png

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进程执行结果

b4bbec9f28c7f8c4372c24706b8ccb22.png

优点:使用简单,可以执行一句话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示例一:

335e71e473adafdc62b021ce55d21522.png

os.popen示例二:

5603cfd78c0d7ea5a8ee0f2b66aa2b5a.png

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

8fea81548e4003d208cf97eb456664c9.png

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

523f91b9676f57d58ec94e32d714b38e.png

commands模块

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

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

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

commands模块使用示例:

cbb0d98f1d3ce2fd4b81d927840a5453.png

最后

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

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

1f5a71160b6de1d5a6fe1b3e9a29739a.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值