日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

1、問題描述

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

1

2def hello():

print("hello world!")

2、原因

因?yàn)闃?biāo)準(zhǔn)輸入輸出stdin/stdout有緩沖區(qū),所以使用print不能立即打印出來,作為剛接觸Python的菜鳥,迷瞪了半天

3、解決方法

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

1

2

3

4import sys

def hello():

print("hello world!")

sys.stdout.flush()

2)python3中支持print支持參數(shù)flush

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

1

2def hello():

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

參考官方手冊

Python控制臺輸出時刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn)

需求目標(biāo)

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

而不是這樣:

1

2

3DownloadingFile FooFile.txt [47%]

DownloadingFile FooFile.txt [48%]

DownloadingFile FooFile.txt [49%]

實(shí)現(xiàn)環(huán)境

Python 3.x

實(shí)現(xiàn)代碼

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函數(shù)增加的功能,使用\r可以刷新當(dāng)前行輸出,2.x里面沒有測試,理論上不可以這樣操作

拓展知識:

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

有時候看輸出進(jìn)度時,會分別輸出進(jìn)度,也就是輸出一長串?dāng)?shù)字,如果能夠覆蓋之前的輸出視覺效果會更好。

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)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。