Ошибка синтаксиса: неверный синтаксис для печати (file = saveto, * args, ** kwargs) - PullRequest
0 голосов
/ 20 сентября 2018

Я следовал этому репо для установки files2rouge, затем я получил ошибку, как показано ниже:

Traceback (most recent call last):
  File "setup_rouge.py", line 7, in <module>
    from files2rouge import settings
  File "/home/cerdas/files2rouge/files2rouge/__init__.py", line 2, in <module>
    from files2rouge.files2rouge import main
  File "/home/cerdas/files2rouge/files2rouge/files2rouge.py", line 17, in <module>
    from files2rouge import utils
  File "/home/cerdas/files2rouge/files2rouge/utils.py", line 16
    print(file=saveto, *args, **kwargs)
              ^
SyntaxError: invalid syntax

Вот строка кода, в которой обнаружена ошибка:

def tee(saveto, *args, **kwargs):
    """Mimic the tee command, write on both stdout and file
    """
    print(args, kwargs)
    if saveto is not None:
        print(file=saveto, *args, **kwargs)

Понятия не имею, что не так, и не знаю, для чего это saveto.Пожалуйста, дайте мне немного понимания, спасибо.

1 Ответ

0 голосов
/ 20 сентября 2018

print является оператором в Python 2 и становится функцией только в Python 3, но если вы хотите использовать его как функцию в Python 2, вы можете добавить:

from __future__ import print_function

перед вамииспользуйте функцию print.

...