时间:2019-06-05 11:21:51

标签: python python-3.x

我正在用Python编写一个应该运行一些命令的代码。为此,我使用subprocess.check_output(),因为它允许超时。 我了解它的工作原理以及应该给它提供什么参数,但是我在网上看到人们经常使用“ stderr = subprocess.STDOUT”,我想知道它的作用以及是否应该使用它。 >

我正在使用Python 3.7

以下是代码示例:

import subprocess as sp

out = sp.check_output("ls not_existing_folder", 
                      stderr=sp.STDOUT, 
                      universal_newlines=True, 
                      timeout=15)

所以我尝试在有和没有“ stderr = sp.STDOUT”行的情况下运行它,但是它似乎没有任何改变。我在网上看到应该捕获错误消息,从而阻止了控制台中的显示。我不确定我说的没错...有人可以解释一下我对这段代码的使用吗?

1 个答案:

答案 0 :(得分:0)

它没有像正常情况一样将其报告为错误,而是将其作为标准输出打印到控制台。