Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误的路径导致python程序使用crontab运行_Python_Linux_Python 2.7_Cron_Crontab - Fatal编程技术网

错误的路径导致python程序使用crontab运行

错误的路径导致python程序使用crontab运行,python,linux,python-2.7,cron,crontab,Python,Linux,Python 2.7,Cron,Crontab,我在Linux下有一个python脚本,需要确定当前的工作目录。程序中执行此操作的部分是: import os cwd = os.getcwd() print cwd 当我运行程序时,它给出了正确的答案: /home/johny/LST/CT 但当我使用crontab运行它时,它给出了以下信息: /home/johny 即使我把它放在更深的文件夹中,结果也是一样的。有人知道问题出在哪里吗?在crontab文件中,请执行以下操作: 1 0 * * * cd /home/johny/LST/C

我在Linux下有一个python脚本,需要确定当前的工作目录。程序中执行此操作的部分是:

import os
cwd = os.getcwd()
print cwd
当我运行程序时,它给出了正确的答案:

/home/johny/LST/CT
但当我使用crontab运行它时,它给出了以下信息:

/home/johny

即使我把它放在更深的文件夹中,结果也是一样的。有人知道问题出在哪里吗?

在crontab文件中,请执行以下操作:

1 0 * * * cd /home/johny/LST/CT; python your_script.py

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 ...