Ursache des Problems
Beim Erlernen der aktualisierten Textfortschrittsleiste von 3.7.3 in den Grundlagen der Python-Programmierung stellte ich fest, dass die time.clock-Methode nicht verwendet werden kann. Tipp: AttributeError: module'time 'hat kein Attribut' clock '. Nach der Suche wurde festgestellt, dass time.clock () in Python3.8 abgeschafft wurde.
import time
scale=50
print("执行开始".center(scale//2,'-'))
t=time.clock()
for i in range(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
t-=time.clock()
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),\
end='')
time.sleep(0.05)
print("\n"+"执行结束".center(scale//2,'-'))
Alternative Methode
Nach der Suche gibt es zwei Methoden
1.time.perf_counter ()
2. time.process_time ()
Der Unterschied zwischen diesen beiden Methoden besteht darin, ob die Zeit in time.sleep () berechnet werden soll.
import time
t0=time.process_time()
time.sleep(1)
t1=time.process_time()
print(t1-t0)#=0.0
t2=time.perf_counter()
time.sleep(1)
t3=time.perf_counter()
print(t3-t2)#=1.0002965000000001
Nach dem Testen berechnet Methode eins perf_counter () den Wert von sleep (), Methode zwei process_time () nicht.
Problem gelöst
In Kombination mit dieser Frage wird in der Frage die sleep () -Methode verwendet, daher verwenden wir die erste Methode.
import time
scale=50
print("执行开始".center(scale//2,'-'))
t=time.perf_counter()
for i in range(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
t-=time.perf_counter()
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),\
end='')
time.sleep(0.05)
print("\n"+"执行结束".center(scale//2,'-'))
Das Ergebnis ist das
gleiche wie im Buch und das Problem ist gelöst.
Wenn Sie mehr über diese beiden Methoden erfahren möchten, lesen Sie bitte [https://blog.csdn.net/qq_27283619/article/details/89280974].
Geben Sie einen Link mit drei Links an