当我们写python脚本的时候看,如果需要调用外部命令,有很多的模板可以使用,标准包里面的os.popen,os.system,commands.getstatusoutput, 但是这些现在都是不推荐的了,现在标准包推荐使用的是subprocess模块,使用上一般会使用如下函数来进行封装,这样是比较好用的,那接下来就跟大家说实现方法吧~
直接给大家上实现代码演示:
def?run(cmd): ?p?=?subprocess.Popen(cmd,?shell=True,?stdout=subprocess.PIPE,?stderr=subprocess.PIPE,?close_fds=True) ?out,?err?=?p测试数据municate() ?print?('cmd=[{}]?out=[{}]?err=[{}]?returncode=[{}]'.format(cmd,?out,?err,?p.returncode)) ?if?p.returncode?!=?0: ?raise?Exception('cmd?run?error') ?return?out
通过上述的实现代码演示,我们可以直接调用run函数来运行命令,得到命令的标准输出,在返回码非0的情况下,直接抛出异常。好啦,大家都消化学习吧,更多学习内容。
查看更多关于如何调用subprocess模块实现外部命令的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did181111