Выполните задачу в определенных интервалах в Python [дубликат]

Закомментируйте диапазон строк:

  1. Сначала установите закладку в начале диапазона: ma

  2. . последняя строка в диапазоне

  3. Команда - :'a,.s/^/# / Предполагается, что # - ваш символ комментария.
15
задан Community 23 May 2017 в 11:46
поделиться

5 ответов

Существует удобный планировщик событий, который может делать то, что вам нужно. Вот ссылка на документацию:

http://docs.python.org/library/sched.html

12
ответ дан 1 December 2019 в 01:17
поделиться

попробуйте модуль multiprocessing .

from multiprocessing import Process
import time

def doWork():
    while True:
        print "working...."
        time.sleep(10)



if __name__ == "__main__":
    p = Process(target=doWork)
    p.start()

    while True:
        time.sleep(60)
9
ответ дан 1 December 2019 в 01:17
поделиться

Многие программисты стараются избегать многопоточного кода, так как он очень подвержен ошибкам в императивном программировании.

Если вы хотите выполнить запланированную задачу в однопоточной среде, то вам, вероятно, понадобится какой-то « Reactor ». Вы можете использовать готовую функцию, например Twisted .

Тогда это будет базовая функция, предоставляемая вашим реактором, например (с pygame):

pygame.time. set_timer - многократно создавать событие в очереди событий

7
ответ дан 1 December 2019 в 01:17
поделиться

Python имеет класс Timer в модуле потоковой передачи, но это однократный таймер, так что вам лучше сделать что-нибудь, как вы видели ссылки. http://code.activestate.com/recipes/65222/

Почему вы думаете, что это некрасиво, если вы написали такой класс, использование такого класса будет таким же простым, как в java.

если вы являетесь используя его внутри некоторого графического интерфейса, например wxPython, чем он имеет wx.Timer, который вы можете использовать напрямую

2
ответ дан 1 December 2019 в 01:17
поделиться

Нет прямого ответа на вопрос.

В операционной системе Linux / Unix есть несколько способов сделать это, и обычно я просто обычно пишу свою программу / скрипт, а затем добавляю его в cron или что-то подобное (например, launchd в OS X)

Ответ на вопрос начинается здесь.

Используйте стандартный модуль python sched - документация стандартной библиотеки описывает некоторые изящные решения .

7
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: