我有一个名为A
的二进制文件,调用时会生成输出。如果从Bash shell中调用它,大部分输出会被A > /dev/null
抑制,而A &> /dev/null
则会将所有输出都抑制。
我有一个名为B
的Python脚本需要调用A
,我想要在从B
生成输出的同时抑制A
的所有输出。
在B
中,我尝试了os.system('A')
,os.system('A > /dev/null')
和os.system('A &> /dev/null')
,os.execvp('...')
等方法,但这些方法都不能完全抑制A
的所有输出。
我可以运行B &> /dev/null
,但这也会抑制B
的所有输出,我不希望这样。
有没有人有建议?
subprocess.call
抛出错误,这也会泄漏文件句柄。如果可用的话,你应该真正使用subprocess.DEVNULL
。 - phihag