ist dies eine ziemlich direkte Frage, aber ich bin neu, also habe ich eine harte Zeit, dies richtig zu formatieren. Ich habe einen Code, der einen Artikel herunterlädt und mir eine dynamische print()
des Prozentsatzes vervollständigt.Python (3.5) - Formatierungsnummer mit zusätzlichem Text Nach
while True:
buf1 = resp.read(blocksize)
if not buf1:
break
buf.write(buf1)
size += len(buf1)
if length:
print('Downloading: {:.1f}\r%'.format(size/length*100), end='')# print('{:.2f}'.format(size/length), 'done')
print()
Lassen Sie uns an dieser Druckzeile
print('Downloading: {:.1f}\r%'.format(size/length*100), end='')
Gerade jetzt einen genaueren Blick ist es %Downloading 100.0
Druck Aber ich möchte es Downloading 100.0%
(oder vielleicht auch nur ohne das Dezimalsystem drucken könnte besser aussehen)
Danke für jede Hilfe zur Verfügung gestellt.
Was soll das "\ r" tun? '\ r' fügt einen Carriage Return in den Code ein, der den Cursor im Grunde an den Anfang der Zeile zurückversetzt ... (und ich bin auch überrascht von der gemeldeten Ausgabe ... Es scheint so, als würde die'% 'überschreiben das 'D'). – mgilson
ja Stick '%' mit '{: .1f}'. –
Damit sich der Druck nicht dupliziert, ist er dynamisch. Also '100%' anstelle von '98%', '99%' '100%'. – Kenny