Как оператор сдвига вправо работает в операторе печати Python?

Я видел, что кто-то использует "печать" с">>" для записи материалов в файл:

In [7]: with open('text', 'w') as f:
   ...:     print >> f, "Hello, world!"
   ...:

In [8]: !type text
Hello, world!

Как это работает? Когда я должен использовать это вместо того, чтобы просто использовать метод "записи"?

14
задан Wang Dingwei 20 June 2010 в 02:47
поделиться

1 ответ

Из https://docs.python.org/2/reference/simple_stmts.html#the-print-statement

печать также имеет расширенную форму, определяется второй частью синтаксис описан выше. Эта форма иногда упоминается как «печать шеврон ». В таком виде первые выражение после >> должно оценивать к «файловому» объекту, в частности объект, у которого есть метод write () как описано выше. С этим расширенным форме, последующие выражения напечатано в этот файловый объект. Если первое выражение оценивается как None, тогда sys.stdout используется как файл для вывода.

15
ответ дан 1 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: