Python 3.8 中的文本进度条

  • 本文关键字:文本 Python python-3.8
  • 更新时间 :
  • 英文 :

import time
def create_logs():
print("Creating log file...")
print("Process [", end="")
for i in range(0,5):
time.sleep(1)
print("#", end="")
logs = open('/home/motya/Desktop/logs_py/logs.txt', 'w')
logs.write("LOGS_ENABLE=1nUSERNAME=GUEST")
logs.close
for i in range(0,5):
time.sleep(1)
print("#",end="")
print("]nComplete!n")
def start_welcome():
create_logs()
print("Welcome!")
start_welcome()

当我在 print(( 中使用 end 参数时,输出发生在 10 秒后(所有时间.sleep 的总和(。删除 end 参数后,输出每秒发生一次,这是应该的,但带有新行。 我该如何解决它?

UPD:对不起我的英语,这不是我的主要语言,这对我来说很难

尝试在打印语句后添加sys.stdout.flush(),如下所示:

import time
import sys
def create_logs():
print("Creating log file...")
print("Process [", end="")
for i in range(0,5):
time.sleep(1)
print("#", end="")
sys.stdout.flush()
logs = open('/home/motya/Desktop/logs_py/logs.txt', 'w')
logs.write("LOGS_ENABLE=1nUSERNAME=GUEST")
logs.close
for i in range(0,5):
time.sleep(1)
print("#",end="")
sys.stdout.flush()
print("]nComplete!n")
sys.stdout.flush()
def start_welcome():
create_logs()
print("Welcome!")
sys.stdout.flush()
start_welcome()

这将导致您的打印完成它的工作,然后将输出刷新到屏幕。

相关内容

  • 没有找到相关文章

最新更新