python中,运行Linux命令,运行正确获取运行结果,运行错误获取错误提示
subprocess模块—Popen
command = "ping -c 1 baidu.com "
back = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
print("back0----", back[0].decode()) # 注意需要进行解码操作,默认输出的是字节
print("back1----", back[1].decode()) # back是一个元祖,可以通过元祖取值的方式获取结果
执行结果:
如果将命令改成:
command = "ping -c 1 bbaidu.com "
结果如下:
也就是说,在使用 subprocess.Popen执行后,通过元祖取值的方式,我们可以获取到命令执行之后的结果
本demo中,back[0]----stdout(输出结果),back[1]–stderr(错误捕获)