Dec*_*out 2 printing python-2.x stringio
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()
Run Code Online (Sandbox Code Playgroud)
第5行>>output的print声明中有什么作用?
它将print语句输出重定向到打开的类文件对象.请参阅print声明文档:
>>必须在"文件类"对象之后的第一个表达式,特别是具有上述write()方法的对象.使用此扩展表单,后续表达式将打印到此文件对象.如果第一个表达式求值为None,则sys.stdout用作输出文件.
本质上,该行被转换为output.write('Second line.' + '\n') asprint`为它的输出添加换行符,除非表达式以逗号结尾.
语法基于bash附加>>语法(也影响了C++ <<和>>I/O操作符); 请参阅PEP 214,了解为何选择此项目的充分动机.
在Python 3中,print()函数在哪里,你会写:
print('Second line.', file=output)
Run Code Online (Sandbox Code Playgroud)
代替.
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |