Функции Python вместо скриптов Python - PullRequest
0 голосов
/ 27 октября 2019

Возможно ли, чтобы приведенный ниже код запускал функцию python вместо сценария python?

from crontab import CronTab
from datetime import datetime

cron = CronTab(user='username')
job = cron.new(command='python example1.py')
job.minute.every(1)

cron.write()

Я пробовал это, но это явно не работает

from crontab import CronTab

def(trial):
     myFile = open('append.txt', 'a') 
     myFile.write('\nAccessed on ' + str(datetime.now()))


cron = CronTab(user='username')
job = cron.new(command='trial')
job.minute.every(1)

cron.write()

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Вы можете использовать флаг -c, чтобы указать команду, которую вы хотите запустить, например:

cron = CronTab(user='username')
job = cron.new(command='python -c "print(\"Hello World\")"')
job.minute.every(1)

0 голосов
/ 27 октября 2019

Скорее всего, ваша библиотека управляет crontab, предоставляемым демоном cron в вашей системе (вы можете проверить это, используя crontab -l в оболочке - в нем должен отображаться созданный вами cronjob при вызове cron.write()).

Это означает, что он может запускать только те вещи, которые вы могли бы запустить в оболочке. Таким образом, невозможно запустить функцию python, если у вас нет файла python, содержащего ее (как в первом примере).

...