Hallo zusammen,
ich möchte einen Thread die verbleibende Zeit seiner Berechnung schätzen lassen. Dafür frage ich bei jedem Durchlauf die momentane Zeit mit time.time() ab und berechne daraus die verbleibende Zeit.
Allerdings bin ich beim Durchstöbern der lib-Referenz auf keine Funktion gestoßen, die mir die Sekunden in das Format HH:MM:SS als String konvertieren kann, und das Internet gab bisher leider auch nichts her.
Und bevor ich mir wieder was schreibe, was Python schon mitbringt, frag ich doch mal lieber nach
Sekunden als lesbare Zeit formatieren
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Wenn du mit Zeitdifferenzen umgehen willst, vielleicht auch so:.
Mmh.
Code: Alles auswählen
>>> d = datetime.datetime.fromtimestamp(time.time())
>>> d2 = datetime.datetime.fromtimestamp(time.time())
>>> delta = d2 - d
>>> print delta
0:00:16.904993
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Code: Alles auswählen
t1 = time.time()
time.sleep(3)
t2 = time.time()
print time.strftime("%H:%M:%S", time.localtime(t2-t1))
Rebeccas Vorschlag gibt tatsächlich 3 Sekunden aus, allerdings zu hoch aufgelöst. timedelta Objekte besitzen doch das Attribut resolution. Aber verändern kann man es nicht? Auch hier habe ich es nicht geschafft, das Ergebnis zu formatieren.
Sonst schneid ich im String einfach alles ab dem Punkt ab.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo stagger!stagger hat geschrieben:Code: Alles auswählen
print time.strftime("%H:%M:%S", time.localtime(t2-t1))
Code: Alles auswählen
print time.strftime("%H:%M:%S", time.gmtime(t2-t1))
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.