Python3.8 中的文本进度条
Text Progress Bar in Python3.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=1\nUSERNAME=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() 中使用结束参数时,输出发生在 10 秒后(所有 time.sleep 的总和)。当删除结束参数时,输出每秒发生一次,因为它应该是,但换行。
我该如何解决?
更新:对不起我的英语,它不是我的主要语言而且对我来说很难
尝试在打印语句后添加 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=1\nUSERNAME=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()
这将使您的打印完成它的工作,然后将输出刷新到屏幕上。
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=1\nUSERNAME=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() 中使用结束参数时,输出发生在 10 秒后(所有 time.sleep 的总和)。当删除结束参数时,输出每秒发生一次,因为它应该是,但换行。 我该如何解决?
更新:对不起我的英语,它不是我的主要语言而且对我来说很难
尝试在打印语句后添加 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=1\nUSERNAME=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()
这将使您的打印完成它的工作,然后将输出刷新到屏幕上。