pycodestyle检索结果而不打印它们

时间:2018-06-28 12:36:36

标签: python pycodestyle

我正在尝试在python程序中使用pycodestyle

from pycodestyle import StyleGuide, StandardReport

CONFIG_FILE = 'setup.cfg'


def check_pycodestyle():
    style_guide = StyleGuide(config_file=CONFIG_FILE, quiet=True)
    # style_guide = StyleGuide(config_file=CONFIG_FILE, reporter=StandardReport, quiet=True)
    report = style_guide.check_files(paths='./')

不幸的是,我还没有找到一种将结果作为简单返回值的方法。使用quiet=True标志时,不会自动打印任何内容,但返回的报告是BaseReport,似乎不包含实际结果,而只是计算有多少total_errors

当省略quiet标志时,结果将自动打印出来。

是否有检索结果而不打印结果的功能?

编辑: 使用report.get_file_results()时,我收到以下结果:

使用quiet=True

0

没有quiet

<prints the results>
0 

1 个答案:

答案 0 :(得分:0)

由于结果是“打印”的,因此您可以像这样重定向打印:

sys.stdout = open(r'C:/YourResultFilePath/Filename.txt', 'w')  # this is 'w' so the previous file is replaced

我建议保存sys.stdout,以便您可以在代码末尾将其还原:

old_stdout = sys.stdout

然后:

sys.stdout = old_stdout