Ответ 1
Этот синтаксис означает запись в файл-объект (sys.stderr
в этом случае) вместо стандартного вывода. [Ссылка]
В Python 3.0 print
становится функцией вместо оператора: [Ссылка]
print("Error in atexit._run_exitfuncs:", file=sys.stderr)
print >> sys.stderr, "Error in atexit._run_exitfuncs:"
Зачем печатать ' → ' перед sys.stderr
?
Спасибо.
Этот синтаксис означает запись в файл-объект (sys.stderr
в этом случае) вместо стандартного вывода. [Ссылка]
В Python 3.0 print
становится функцией вместо оператора: [Ссылка]
print("Error in atexit._run_exitfuncs:", file=sys.stderr)
print также имеет расширенную форму, определяемый второй частью синтаксис, описанный выше. Эта форма иногда называемый "print шеврон". В этой форме первый выражение после → должно оценивать к "файлоподобному" объекту, в частности объект, который имеет метод write() как описано выше. С помощью этого расширенного формы, последующие выражения печатается в этот файл. Если первое выражение оценивается как None, то sys.stdout используется как файл для вывода.