1

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

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标志时,不会自动打印任何内容,但返回的报告是 aBaseReport并且似乎不包含实际结果,而只是计数有多少total_errors

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

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

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

quiet=True

0

没有quiet

<prints the results>
0 
4

1 回答 1

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

于 2019-10-03T17:04:40.210 回答