1、问题描述
在Python中使用print打印hello world时,终端不显示
def hello():
print("hello world!")
2、原因
因为标准输入输出stdin/stdout有缓冲区,所以使用print不能立即打印出来,作为刚接触Python的菜鸟,迷瞪了半天
1)刷新缓冲区,python中是sys.stdout.flush()
import sys
def hello():
print("hello world!")
sys.stdout.flush()
2)python3中支持print支持参数flush
原型:print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
def hello():
print("hello world!", flush=True)
本文介绍了在Python中使用print函数打印内容时遇到的延迟问题,并详细解释了其背后的原因。文章提供了两种解决方法:一是通过调用sys.stdout.flush()来刷新标准输出的缓冲区;二是利用Python 3提供的print函数flush参数直接实现即时打印。
2万+

被折叠的 条评论
为什么被折叠?



