Я пытаюсь сравнить два раза с точностью до секунды, но я нахожу несколько раз, когда код вычисляет по-другому, и мое сравнение не работает, и цикл выполняется бесконечно. Я вставил свой код ниже, для справкиСравнение длительности времени Python
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())
Если у вас есть какой-либо другой лучший способ сравнения времени и продолжительность времени я был бы признателен, если вы могли бы поделиться. GrabDuration & Grabtime - это заданная пользователем переменная для продолжительности.
спасибо, у вашего фрагмента была такая же проблема, вот распечатка сравнения. Вы можете видеть, что время пропускает от секунды до 3 секунд, даже если пользовательский ввод для Grabtime составлял 2 секунды. 2016-03-23 15:49:50 = 2016-03-23 15:49:52 2016-03-23 15:49:53 # пропускается до 3 сек = 2016-03-23 15: 49:52 2016-03-23 15:49:55 # Хорошо = 2016-03-23 15:49:52 2016-03-23 15:49:57 # Хорошо = 2016-03-23 15:49:52 2016-03-23 15:49:59 # Хорошо = 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 # Хороший = 2016-03-23 15:49:52 – tensingd1