Как рассчитать время этой петли

Привет, я просто зацикливаю этот скрипт, но теперь он зацикливается на неопределенный срок, я бы хотел, например, зацикливать каждые 5 секунд, я запускаю скрипт, жду 5 секунд и запускаю снова. Это код, который у меня есть прямо сейчас.

import gdown

def test():
    url = 'https://drive.google.com/uc?id=1RUySVmR2ASrnNf3XV4sdIpKD4QbUlQL8A'
    output = 'spam.txt'
    gdown.download(url, output, quiet=False)

while True:
    test()

как насчет time.sleep(время)?

Eden Moshe 23.12.2020 17:19

Отвечает ли это на ваш вопрос? Как заставить программу на Python заснуть на 50 миллисекунд?

Georgy 24.12.2020 15:25

@ Мигель Мигель, ответ, который вы приняли, довольно неэффективен, рассмотрите возможность принятия любого из других ответов.

Jarvis 25.12.2020 14:16
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
3
94
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я думаю, что самый простой способ — просто добавить паузу.

import gdown
from time import sleep

def test():
    url = 'https://drive.google.com/uc?id=1RUySVmR2ASrnNf3XV4sdIpKD4QbUlQL8A'
    output = 'spam.txt'
    gdown.download(url, output, quiet=False)

while True:
    test()
    sleep(5)

Просто sleep на 5 секунд, а затем:

import time

while True:
    test()
    time.sleep(5)

о jajajajaxxD ок, спасибо

Miguel 23.12.2020 17:12
Ответ принят как подходящий
import time

def test():
    print("running code")

start = time.time()

while 1:
    if time.time()-start >= 5:
        test()
        start = time.time()

5 для секунд. Таким образом, остальная часть вашей программы не должна ждать пять секунд, что может быть более полезным.

Обратите внимание, что если вы используете этот метод, вы будете использовать кучу мощности процессора, просто вращаясь в цикле, ничего не делая. Другие решения, использующие time.sleep, сводят использование ЦП к минимуму.

FailureGod 23.12.2020 20:16

Используйте этот метод только в том случае, если вы хотите, чтобы только этот фрагмент кода выполнялся каждую секунду, а остальная часть программы выполнялась в обычном режиме.

Mofie The greate 29.01.2021 19:13

Другие вопросы по теме