pycodestyle извлекает результаты, не печатая их

Я пытаюсь использовать 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 флаг, ничего не печатается автоматически, но возвращаемый отчет BaseReport и, кажется, не содержит фактических результатов, а просто рассчитывать, сколько total_errors,

Опуская quiet флаг, то результаты автоматически распечатываются.

Есть ли функция для получения результатов, а не распечатывать их?

РЕДАКТИРОВАТЬ: при использовании report.get_file_results() Я получаю следующие результаты:

С quiet=True:

0

Без quiet:

<prints the results>
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

Другие вопросы по тегам