在python中运行到/dev/null的进程

2024-05-03 04:29:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎么在下面的Python中运行?在

/some/path/and/exec arg > /dev/null

我知道了:

^{pr2}$

如何将exec进程的输出插入/dev/null,并保持python进程的打印输出与往常一样?就像在,不把所有的东西都重定向到stdout?在


Tags: andpathdev进程stdoutargsomenull
1条回答
网友
1楼 · 发布于 2024-05-03 04:29:36

对于python3.3及更高版本,只需使用^{}

call(["/some/path/and/exec","arg"], stdout=DEVNULL, stderr=DEVNULL)

注意,这将重定向stdoutstderr。如果您只想重定向stdout(正如您的sh行所暗示的那样),则省略stderr=DEVNULL部分。在

如果需要与旧版本兼容,可以使用^{}。因此,从2.6开始(包括3.3),这一切都适用:

^{pr2}$

或更高版本(包括2.3和更高版本):

devnull = open(os.devnull, 'w')
try:
    call(["/some/path/and/exec","arg"], stdout=devnull, stderr=devnull)
finally:
    devnull.close()

在2.4之前,还没有subprocess模块,所以这已经是您可以合理使用的时间了。在

相关问题 更多 >