print >>sys.stderr, 'waiting for a connection'
谁能解释一下“>>”运算符在这种情况下的作用?
它从文档打印到类似文件的对象:
>>
必须计算为“类文件”对象,特别是具有上述write()
方法的对象。使用此扩展形式,后续表达式将打印到此文件对象。如果第一个表达式的计算结果为None
,则将sys.stdout
其用作输出文件。
与此相反,它的优点sys.stderr.write()
是print >>f, ...
自动在文本末尾附加换行符(手动添加换行符,即sys.stderr.write('waiting for a connection\n')
变得烦人)。
作为参考,等效的 Python 3 代码是:
print('waiting for a connection', file=sys.stderr)