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

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

У меня есть скрипт на Python, который я хочу запускать в 5 вечера каждую пятницу.
Как мне этого добиться?

Я понимаю, что могу сделать это через cron. Однако, поскольку я использовал относительные пути к файлам в скрипте Python, и поэтому должен быть запущен в определенном каталоге с другими файлами. Я видел, что могу добиться этого с помощью оператора pipe, однако не смог найти пример.

решение1

Есть разные способы добиться этого, я перечислю только два способа:

(1) Используйте Bash "Wrapper Shell Script" в вашем задании Cron для выполнения @ 5PM.
В "Wrapper Script" сначала "cd X", где X - это необходимый каталог.
Затем выполните скрипт Python. Он будет запущен в каталоге X.

# My Bash Wrapper Script  
cd X # use the necessary Directory here  
python MyPythonScript.py  

(2) В вашем скрипте Python импортируйте модуль «os» и используйте «os.chdir» для смены каталога, а затем продолжите выполнение скрипта Python.

# My Python Script  
import os  
os.chdir(X) # use necessary Directory here  
# continue with Python Script  
# no other Changes necessary  

Эти два способа очень просты в использовании.

решение2

Вы можете просто перейти в каталог перед запуском скрипта.

0 17 * * Fri cd /path/to/dir && python myscript.py

Обертка не требуется.

Связанный контент