Что> после команды print в Python 2?
import cStringIO
output = cStringIO.StringIO()
output.write('First line.n')
print >>output, 'Second line.'
# Retrieve file contents -- this will be
# 'First line.nSecond line.n'
contents = output.getvalue()
Что делает >>output в операторе print в строке 5?
1 ответ:
Он перенаправляет вывод инструкции
>>должно вычисляться в "файлоподобный" объект, в частности объект, который имеет методwrite(), как описано выше. С этой расширенной формой последующие выражения печатаются в этот файловый объект. Если первое выражение вычисляется какNone, тоsys.stdoutиспользуется в качестве файла для вывода.По существу, строка переводится в
output.write('Second line.' + '\n') asprint` добавляет новую строку к ее выходу, если выражение не заканчивается запятой.Синтаксис основан на синтаксисе bash append
>>(который также повлиял на операторы ввода-вывода C++<<и>>); смотритеPEP 214 для полной мотивации, почему это было выбрано.В Python 3, где
print()- функция, вы бы написали:print('Second line.', file=output)Вместо этого.