Seite 2 von 2
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 8. Juni 2018, 07:27
von Horst73
ok, zu guter letzt hätte ich och eine Frage
Wenn ich zB sowas habe, dann plottet der mir alles in die selbe Zeile aber nebeneinander. Ich möchte, dass sich auf dem Bildschirm nur die Prozentzahl ändert. Wie kann ich das abwandeln?
Hab da schon viel gesehen mit dem sys modul. Aber alles was ich bisher probiert hatte führte immer dazu, dass jede Menge Text auf dem Bildschirm erschien...
Code: Alles auswählen
import time
for i in range(100):
time.sleep(0.1)
print('Downloading File FooFile.txt [%d% %]\r'%i, end="")
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 8. Juni 2018, 07:55
von Sirius3
wie rufst Du denn das Programm auf? IDLE kann z.B. kein '\r'.
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 8. Juni 2018, 07:59
von Horst73
Also aktuell unter windows...
Gedacht sein soll es aber für Linux...
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 8. Juni 2018, 08:52
von Sirius3
die Windows-Konsole kann mit \r umgehen. Linux-Terminal sowieso.
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 8. Juni 2018, 09:02
von Horst73
so, ich hab den fehler gefunden xD
Wie bekomm ich jetzt nur das % dort weg? Will das ohne das Zeichen verwenden...
Wie scho gesagt, man darf es nicht aus IDLE heraus starten... Sondern per doppelklick...
Nachtrag:
so ist man es los:
print("Text: %d text2" % zahler, end='\r')
Re: Dateieinlesung während des Downloads
Verfasst: Freitag 15. Juni 2018, 16:13
von Horst73
An dieser Stelle möchte ich mich herzlich für die tolle Hilfe bedanken. Dieses spezeille Projekt ist erfolgreich abgeschlossen.
Ich werde mich aber in Zukunft wahrscheinlich noch häufiger an euch wenden. Vielen Dank für eure Hilfe!!!!
Theman kann geschlossen werden...
Re: Dateieinlesung während des Downloads
Verfasst: Dienstag 19. Juni 2018, 18:35
von DeaD_EyE
Geht auch, musst nur vorher die Größe wissen, damit du einen Fortschritt berechnen kannst.
Sofern du aber was anderes in der Konsole ausgibst, zerreißt es dir den Fortschrittsbalken.
Ich nutze manchmal
progressbar2
Code: Alles auswählen
with requests.get('https://google.de', stream=True) as r:
position = 0
if 'Content-Length' in r.headers:
size = int(r.headers['Content-Length'])
#print(size)
#print(r.headers)
pbar = progressbar.ProgressBar(max_value=size, max_error=False)
# Bei Heise ist der Content länger, als im Header angegeben, deswegen max_error=False
pbar.init()
else: # wenn keine Informationen über die Größe vorhanden sind
pbar = progressbar.ProgressBar()
pbar.init()
for line in r.iter_lines():
position += len(line) # position updaten
time.sleep(0.2) # hier irgendwas machen, aber bloß nichts in der Konsole ausgeben.
pbar.update(position) # progressbar updaten
pbar.finish()