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)