Ich versuche, zwei Mal innerhalb der Genauigkeit einer Sekunde zu vergleichen, aber ich finde einige Male der Code anders berechnet und mein Vergleich funktioniert nicht und die Schleife wird unendlich ausgeführt. Ich habe meinen Code unten,Python-Zeit-Dauer-Vergleich
start_time = datetimenow() #datetimenow is a function which returns time w/o microseconds
end_time = start_time + timedelta(seconds = GrabDuration)
while datetimenow() != end_time: #this part fails sometimes and passes sometimes
time.sleep(Grabtime)
saveas(imggrab())
als Referenz eingefügt Wenn Sie eine andere bessere Möglichkeit haben Zeit und Zeitdauer zu vergleichen ich es schätzen würde, wenn Sie teilen könnten. GrabDuration & Grabtime ist eine vom Benutzer angegebene Variable für die Dauer.
danke, dein Snippet hatte dasselbe Problem, hier ist der Ausdruck des Vergleichs. Sie können sehen, dass die Zeit eine Sekunde bis 3 Sekunden überspringt, obwohl die Benutzereingabe für Grabtime 2 Sekunden betrug. 2016-03-23 15:49:50 = 2016-03-23 15:49:52 2016-03-23 15:49:53 # übersprungenen bis 3 sec = 2016-03-23 15: 49:52 2016.03.23 15.49.55 # Gute = 2016-03-23 15:49:52 2016-03-23 15:49:57 # Gute = 2016.03.23 15:49:52 2016-03-23 15:49:59 # Gute = 2016-03-23 15:49:52 2016-03-23 15:50:02 # Bad = 2016-03 -23 15:49:52 2016-03-23 15:50:04 #GOod = 20 16-03-23 15:49:52 2016-03-23 15:50:06 #Good = 2016-03-23 15:49:52 – tensingd1