Como executar um script python em um diretório específico automaticamente?

Como executar um script python em um diretório específico automaticamente?

Eu tenho um script python que desejo executar às 17h todas as sextas-feiras.
Como posso conseguir isso?

Eu entendo que poderia fazer isso através do cron. No entanto, como usei caminhos de arquivos relativos no script Python e, portanto, devem ser executados no diretório específico com os outros arquivos. Vi que posso conseguir isso usando o operador pipe, mas não consegui encontrar um exemplo.

Responder1

Existem várias maneiras de conseguir isso, listarei apenas duas maneiras:

(1) Use um "Wrapper Shell Script" do Bash em seu Cron Job para executar às 17h.
No "Wrapper Script", primeiro "cd X" onde X é o diretório necessário.
Em seguida, execute o script Python. Ele será executado no Diretório X.

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

(2) Em seu script Python, importe o módulo "os" e use "os.chdir" para alterar o diretório e continue com o script Python.

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

Essas 2 formas são muito fáceis de usar.

Responder2

Você pode simplesmente entrar no diretório antes de executar o script.

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

Não é necessário invólucro.

informação relacionada