У меня есть python script, который я хотел бы запускать с регулярными интервалами. Я запускаю окна 7. Каков наилучший способ сделать это? Самый простой способ?
Расписание Python Script - Windows 7
Ответ 1
Вы можете сделать это в командной строке следующим образом:
schtasks /Create /SC HOURLY /TN PythonTask /TR "PATH_TO_PYTHON_EXE PATH_TO_PYTHON_SCRIPT"
Это создаст часовую задачу под названием "PythonTask". Вы можете заменить HOURLY ЕЖЕДНЕВНО, ЕЖЕНЕДЕЛЬНО и т.д. PATH_TO_PYTHON_EXE будет выглядеть примерно так: C:\python25\python.exe. Посмотрите больше примеров, написав это в командной строке:
schtasks /?
В противном случае вы можете открыть Планировщик заданий и выполнить его через графический интерфейс. Надеюсь, это поможет.
Ответ 2
Вы можете использовать графический интерфейс с панели управления (так называемые "запланированные задачи" ), чтобы добавить задачу, большая часть которой должна быть понятной, но есть две вещи, которые следует соблюдать:
-
Обязательно заполните
C:\python27\python.exe
как путь к программе и путь к вашему script в качестве аргумента. -
Если вы выберете
Run whether user is logged on or not
, я получаю сообщение об ошибке:The directory name is invalid (0x87010B)
. ВыборRun only when user is logged on
"решает" эту проблему.
Мне потребовалось немного времени, чтобы понять...
Ответ 3
Простым способом сделать это является непрерывный запуск script с циклом задержки. Например:
def doit():
print "doing useful things here"
if __name__ == "__main__":
while True:
doit()
time.sleep(3600) # 3600 seconds = 1 hour
Затем оставьте это script запущенным, и он будет выполнять свою работу один раз в час.
Обратите внимание, что это всего лишь один подход к проблеме; использование службы, предоставляемой ОС, например Планировщик заданий, - это еще один способ, который позволяет все время оставаться в вашем script.