Kann man es realisieren, dass der Ablauf einer While True Schleife in Python eine bestimmte Zeit dauern muss?
also innerhalb der Schleife soll eine feste Abtastzeit eingestellt werden, da in ihr Sensoren ausgelesen werden. Wenn ich aber einfach nur die Zeit der Schleife mit time.time ermittle, kann ich damit leider keine Rechenoperationen durchführen, da die Differenz eine String-Variable wird.
Also mein Plan war ursprünglich time.sleep(feste Abtastzeit - gemessene Zeit) am Ende der Schleife, aber das funktioniert nicht
4 Antworten
da die Differenz eine String-Variable wird
Das klingt ziemlich komisch. Eine Differenz soll ein String werden?
Und selbst wenn, wie wäre es mit einem cast?
Was genau möchtest Du erreichen?
Eine Schleife, die mindestens x Millisekunden zwischen jedem Durchlauf wartet, aber auch nicht mehr als y Millisekunden?
Gruß
Also ich kann mit dem Ergebnis ganz normal weiter rechnen:
import time
firstTime = time.time()
secondTime = time.time()
diff = secondTime - firstTime
diffCalcOperation = diff + 1
print(diffCalcOperation)
Evtl. zeigst Du mal Code
Keine Ahnung wie Du überhaupt an einen String kommst.
Gruß
Mach mal ein Codebeispiel.
time.time() liefert float. Der Vorkommateil sind die Sekunden seit 1.1.1970 0:00 Uhr.
Wo taucht da bei dir String auf?
Konvertiere den String doch einfach in einen Float?
Wie wär‘s, denn du die String-Variable castest?
wenn ich mit der Differenz zwischen zwei Messpunkten von time.time Rechenoperationen durchführen möchte, bekomme ich die Fehlermeldung, dass keine Operationen mit String und int durchgeführt werden können :D
Für den unwahrscheinlichen Fall, dass es länger dauert, soll natürlich auch der Schritt nicht ignoriert werden. Es geht tatsächlich nur um die Mindestlaufzeit, die aber natürlich mit der tatsächlich benötigten Zeit verrechnet werden soll