我每分钟从 crontab 运行一个 python shell:
* * * * * /home/udi/foo/bar.py
/home/udi/foo
有一些必要的子目录,比如/home/udi/foo/log
and /home/udi/foo/config
,它/home/udi/foo/bar.py
指的是。
问题是crontab
从不同的工作目录运行脚本,因此尝试打开./log/bar.log
失败。
有没有一种好方法可以告诉脚本将工作目录更改为脚本自己的目录?我想要一个适用于任何脚本位置的解决方案,而不是明确告诉脚本它在哪里。
编辑:
os.chdir(os.path.dirname(sys.argv[0]))
是最紧凑优雅的解决方案。感谢您的回答和解释!