我正在尝试在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 发布于 2019-10-04 01:04:40
由于结果是‘打印’出来的,你可以像下面这样重定向打印:
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
https://stackoverflow.com/questions/51083128
复制相似问题