스크립트에는 권한과 소유권이 /blah/script.py
있습니다 -rwxr-xr-x 1 root root
. 스크립트는 다음과 같습니다
#!/usr/bin/python
with open('blahblah', 'w') as f:
f.write('hello')
를 사용하여 crontab -e
다음을 시도했습니다.
0 * * * * /blah/script.py
작동하지만 파일은 /root/blahblah
.py 파일에 이름을 하드코딩하지 않고 /blah/blahblah
원하는 디렉터리( /blah/blahblah
이 경우)에 출력 파일을 생성하려면 어떻게 해야 합니까? 다시 말해서,cron에서 Python 스크립트를 호출하고 스크립트가 저장된 디렉터리를 작업 디렉터리로 사용하는 방법?
참고: 이것은 작동하지만 그다지 좋지는 않습니다 0 * * * * cd /home/blah && /usr/bin/python script.py
.
답변1
해결책은 이것을 Python 스크립트에 추가하는 것입니다.
import os, sys
os.chdir(sys.path[0])
답변에서 설명했듯이https://stackoverflow.com/q/1432924/1422096.