如何刷新Python打印输出?
我如何强制Python的打印功能输出到屏幕?
这不是重复的禁用输出缓冲 - 链接的问题是尝试无缓冲输出,而这是更一般的。 这个问题的最佳答案太强大了,或者涉及到这个问题(他们不是很好的答案),这个问题可以在Google上找到一个相对的新手。
import sys
sys.stdout.flush()
默认打印输出到sys.stdout
。
参考文献:
运行python -h
,我看到一个命令行选项:
-u:无缓冲的二进制stdout和stderr; 也是PYTHONUNBUFFERED = x请参阅手册页以获取有关'-u'内部缓冲的详细信息
这是相关的文档。
自Python 3.3以来,您可以强制正常的print()
函数进行刷新,而无需使用sys.stdout.flush()
; 只需将“flush”关键字参数设置为true即可。 从文档:
print(* objects,sep ='',end =' n',file = sys.stdout,flush = False)
将对象打印到流文件中,以sep分隔,然后以end结尾。 sep,end和file(如果存在)必须作为关键字参数给出。
所有非关键字参数都会转换为字符串,如str()并将其写入流中,并由sep和end结尾进行分隔。 sep和end都必须是字符串; 它们也可以是None,这意味着使用默认值。 如果没有给出对象,print()将只写结束。
文件参数必须是带有写入(字符串)方法的对象; 如果它不存在或None,则将使用sys.stdout。 输出是否缓冲通常由文件决定,但如果flush关键字参数为true,则强制刷新流。
链接地址: http://www.djcxy.com/p/13515.html