python中,运行Linux命令,获取输出到终端的数据

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是一个元祖,可以通过元祖取值的方式获取结果

执行结果:
python中,运行Linux命令,获取输出到终端的数据_第1张图片
如果将命令改成:

command = "ping -c 1 bbaidu.com "

结果如下:
python中,运行Linux命令,获取输出到终端的数据_第2张图片
也就是说,在使用 subprocess.Popen执行后,通过元祖取值的方式,我们可以获取到命令执行之后的结果
本demo中,back[0]----stdout(输出结果),back[1]–stderr(错误捕获)

你可能感兴趣的:(python基础,Linux)