python的print不能及时输出的处理

1、问题描述

在Python中使用print打印hello world时,终端不显示

def hello():
    print("hello world!")

2、原因

因为标准输入输出stdin/stdout有缓冲区,所以使用print不能立即打印出来

3、解决方法

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

 

posted @ 2022-03-10 22:13  阿布_alone  阅读(1996)  评论(0编辑  收藏  举报
TOP