我正在尝试使用subroutine.check_output获取traceroute的输出,但是我的脚本的输出中总是排除了"traceroute to twitter.com (104.244.42.193),64跳最大,52字节数据包“这一行。有没有办法在仍然使用subroutine.check_output的情况下解决这个问题?
发布于 2016-11-05 04:39:31
这是因为此行是在标准错误流上打印的。
要合并stdout和stderr:
p = subprocess.check_output(command,stderr=subprocess.STDOUT)从help(subprocess.check_output)中提取
要捕获结果中的标准错误,请使用stderr=STDOUT。
>>> check_output(["/bin/sh", "-c",
... "ls -l non_existent_file ; exit 0"],
... stderr=STDOUT)
b'ls: non_existent_file: No such file or directory\n'https://stackoverflow.com/questions/40431323
复制相似问题