Я не совсем уверен, чего именно вы пытаетесь достичь, но я почти уверен, process_time
- это не та функция, которую вы хотите использовать для этого.Эта функция возвращает:
… значение (в долях секунды) суммы системного и пользовательского процессорного времени текущего процесса.Оно не включает время, прошедшее во время сна.
Таким образом, если вы будете работать 1,1 секунды и спать в течение 2 секунд, вы вернетесь к 1,1, а не к 3,1, как вы видите. 1 Если вы хотите использовать время на часах, а не на процессоре, не используйте эту функцию.
Что следует использовать?Это зависит от того, что вы пытаетесь сделать.Если вы хотите сравнить код, используйте timeit
.Для профилирования используйте profile
.Для обработки времени общего назначения обычно требуется datetime
.Если вам нужен планировщик заданий в процессе, у PyPI есть миллионы вариантов с различными преимуществами и недостатками.Модуль time
содержит большинство низкоуровневых компонентов, которые вам понадобятся для создания этих других модулей, и функции, которые имитируют C API, если вы знакомы с работой с struct tm
и т.п.,но в остальном это обычно не должно быть первое место, куда вы смотритеНо если вы действительно хотите использовать time
здесь, я подозреваю, что здесь будет time
или monotonic
, а не process_time
.
1.Я не знаю, почему у вас есть 10 секунд.Но в опубликованном коде вы фактически не повторяете медленную работу каждый раз через цикл while True:
, вы просто записываете строку в файл и снова спите 2 секунды.Поэтому я предполагаю, что ваш реальный код значительно отличается, и то, что мы ищем, является частью этих различий.