A solução é adicionar isso no script Python
import os, sys
os.chdir(sys.path[0])
conforme explicado nas respostas do link .
O script /blah/script.py
tem -rwxr-xr-x 1 root root
permissões e propriedade. O script é:
#!/usr/bin/python
with open('blahblah', 'w') as f:
f.write('hello')
Com crontab -e
, tentei:
0 * * * * /blah/script.py
Funciona, mas o arquivo é criado como /root/blahblah
em vez de /blah/blahblah
.
Como fazer o arquivo de saída no diretório desejado ( /blah/blahblah
neste caso) sem codificar seu nome no arquivo .py? Em outras palavras, como chamar um script Python do cron, com o diretório onde o script é armazenado como o diretório de trabalho ?
Observação: isso está funcionando, mas não é muito bom: 0 * * * * cd /home/blah && /usr/bin/python script.py
.
A solução é adicionar isso no script Python
import os, sys
os.chdir(sys.path[0])
conforme explicado nas respostas do link .