Hi wider ma ne Frage von mir
Wie bekomme ich zuverlässig Werte von meinem Time Modul die kleiner sind als ne Sekunde? (Milli, mikro?) Bei c gibts ne funktion gettimeofday() aber in Python finde ich im Modul time nix was mir millisekunden liefert.
Und wie genau ist die "Python Uhr"?
greez
Zeiten kleiner als ne Sekunden
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi gorba!gorba hat geschrieben:Wie bekomme ich zuverlässig Werte von meinem Time Modul die kleiner sind als ne Sekunde?
time.clock() --> das ist so ziemlich das genaueste, was du von Python erwarten kannst. Allerdings gibt clock() nicht die aktuelle Zeit zurück. Nähere Infos stehen in der Hilfe.
mfg
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.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi gorba!gorba hat geschrieben:On Unix, return the current processor time as a floating point number expressed in seconds.
Das tut mir leid. Ich dachte, dass es unter Unix genau so gut wie unter Windows funktioniert.
Windows 2000 (Python 2.4):
Code: Alles auswählen
>>> import time
>>> time.clock()
7.6834367792383126e-007
>>> time.clock()
2.938073288454687
>>> time.clock()
5.1097167394850835
>>> time.clock()
6.4394377496296578
>>>
Debian (Python 2.4):
Code: Alles auswählen
>>> import time
>>> time.clock()
0.01
>>> time.clock()
0.01
>>> time.clock()
0.01
>>>
mfg
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.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Unter Windows nimmt man time.clock(), unter Unix time.time() für möglichst genaue Zeiten.
evt. muss ich den Hintergrund erklären.
Habe eine relativ Zeitkritische Applikation, um dies zu vereinfachen, habe ich das eventmodell vergrössert, so das die reaktionszeit jetzt 1 sec ist. Die Frage ist, wie ich meinem Programm nun Leben einhauche, so, dass alle sekunde ein event hervorgerufen wird, der eine Funktion auslöst.
Wisst ihr was ich meine?
edit:
hab das ganze mal so gelöst:
Wie findet ihr die Lösung?
Habe eine relativ Zeitkritische Applikation, um dies zu vereinfachen, habe ich das eventmodell vergrössert, so das die reaktionszeit jetzt 1 sec ist. Die Frage ist, wie ich meinem Programm nun Leben einhauche, so, dass alle sekunde ein event hervorgerufen wird, der eine Funktion auslöst.
Wisst ihr was ich meine?
edit:
hab das ganze mal so gelöst:
Code: Alles auswählen
try:
import threading as trd
except ImportError:
import dummy_threading as trd
def print_time():
# ACTION whatever u want
timer_thread()
def timer_thread():
t = trd.Timer(0.01, print_time)
t.start()
try:
#do want you wanna do
finally:
print 'exit'