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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM