该脚本/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
而不是/blah/blahblah
.如何在所需目录中制作输出文件(/blah/blahblah
在本例中)中生成输出文件,而无需在 .py 文件中对其名称进行硬编码?换句话说,如何从 cron 调用 Python 脚本,并将脚本存储的目录作为工作目录?
注意:这可以工作,但不是很好: 0 * * * * cd /home/blah && /usr/bin/python script.py
。
答案1
解决办法是在Python脚本中添加这个
import os, sys
os.chdir(sys.path[0])