我正在尝试在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
答案 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