python的print不能及时输出的处理
1、问题描述
在Python中使用print打印hello world时,终端不显示
def hello(): print("hello world!")
2、原因
因为标准输入输出stdin/stdout有缓冲区,所以使用print不能立即打印出来
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)
3)使用python启动选项:
-u忽略缓冲区
python -u xx.py