日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python可以直接打印中午吗_Python print不能立即打印的解决方式

發布時間:2025/3/20 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python可以直接打印中午吗_Python print不能立即打印的解决方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、問題描述

在Python中使用print打印hello world時,終端不顯示

1

2def hello():

print("hello world!")

2、原因

因為標準輸入輸出stdin/stdout有緩沖區,所以使用print不能立即打印出來,作為剛接觸Python的菜鳥,迷瞪了半天

3、解決方法

1)刷新緩沖區,python中是sys.stdout.flush()

1

2

3

4import sys

def hello():

print("hello world!")

sys.stdout.flush()

2)python3中支持print支持參數flush

原型:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

1

2def hello():

print("hello world!", flush=True)

參考官方手冊

Python控制臺輸出時刷新當前行內容而不是輸出新行的實現

需求目標

執行Python程序的時候在控制臺輸出內容的時候只顯示一行,然后自動刷新內容,像這樣:Downloading File FooFile.txt [47%]

而不是這樣:

1

2

3DownloadingFile FooFile.txt [47%]

DownloadingFile FooFile.txt [48%]

DownloadingFile FooFile.txt [49%]

實現環境

Python 3.x

實現代碼

1

2

3

4import time

for iin range(10):

time.sleep(0.2)

print ("\r Loading... ".format(i)+str(i), end="")

這里主要用到了Python 3.x里面print函數增加的功能,使用\r可以刷新當前行輸出,2.x里面沒有測試,理論上不可以這樣操作

拓展知識:

python 覆蓋輸出/單行輸出方式

有時候看輸出進度時,會分別輸出進度,也就是輸出一長串數字,如果能夠覆蓋之前的輸出視覺效果會更好。

1

2

3

4

5

6

7

8

9import sys

import time

for iin range(1000):

percent= 1.0 * i/ 1000 * 100

sys.stdout.write("\r nihao: %d / %d" %(percent,100))

sys.stdout.flush()

time.sleep(0.1)

總結

以上是生活随笔為你收集整理的python可以直接打印中午吗_Python print不能立即打印的解决方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。