我有一个Linux下的Python脚本,需要确定当前的工作目录。程序执行此部分是:错误的路径结果python程序运行使用crontab
import os
cwd = os.getcwd()
print cwd
当我运行它,它给了我正确的答案:
/home/johny/LST/CT
但是当我运行使用crontab的它,它给了我这样的:
/home/johny
即使我把它放在更深的文件夹中,也会产生相同的路径。有人知道可能是什么问题吗?
我有一个Linux下的Python脚本,需要确定当前的工作目录。程序执行此部分是:错误的路径结果python程序运行使用crontab
import os
cwd = os.getcwd()
print cwd
当我运行它,它给了我正确的答案:
/home/johny/LST/CT
但是当我运行使用crontab的它,它给了我这样的:
/home/johny
即使我把它放在更深的文件夹中,也会产生相同的路径。有人知道可能是什么问题吗?
的cron可能只是将自己的主目录。如果你需要你的脚本在特定目录中运行考虑在你的脚本的顶部使用像
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
东西虽然真的是你的脚本不应该关心在那里的,从运行。脚本中的所有文件路径应该与脚本相关,使用类似的内容:
scriptdir = os.path.dirname(os.path.abspath(__file__))
mypath = os.path.join(scriptdir, 'data', 'mfile.dat')
... etc ...
在crontab文件做:
1 0 * * * cd /home/johny/LST/CT; python your_script.py