[英]Python script fails to run using a Cronjob but executes from browser
python文件开始执行,但是它们,我得到的错误是-
时间:2018-12-26 13:00:01.751099追溯(最近一次拨打电话):
File "/home/username/public_html/cgi-bin/pull.py", line 13, in <module>
df = pd.read_csv('Datasets/MC_Master.csv')
File "/home/username/.local/lib/python3.5/site-
packages/pandas/io/parsers.py", line 678, in parser_f
return _read(filepath_or_buffer, kwds)
File "/home/username/.local/lib/python3.5/site-
packages/pandas/io/parsers.py", line 440, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/home/username/.local/lib/python3.5/site-packages/pandas/io/parsers.py", line 787, in __init__
self._make_engine(self.engine)
File "/home/username/.local/lib/python3.5/site-packages/pandas/io/parsers.py", line 1014, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "/home/username/.local/lib/python3.5/site-packages/pandas/io/parsers.py", line 1708, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas/_libs/parsers.pyx", line 384, in pandas._libs.parsers.TextReader.__cinit__
File "pandas/_libs/parsers.pyx", line 695, in pandas._libs.parsers.TextReader._setup_parser_source
**FileNotFoundError: File b'Datasets/MC_Master.csv' does not exist**
文件MC_Master.csv包含在cgi-bin / Datasets中
PS:当我在cgi-bin目录中时,使用shebang命令$ python3 pull.py可以完美地工作。
任何指导将不胜感激。
您必须为数据集使用绝对路径。 尝试将Dataset / file.csv更改为/cgi-bin/Dataset/file.csv或任何绝对路径。
这是因为您在脚本中使用了相对路径,所以当您从cgi-bin
目录工作时,相对路径可以正常工作,但是在使用cron运行时,将以用户的主目录作为工作目录执行程序。 要克服此问题,如@Gaurav所述,请在脚本中使用绝对路径,或者仅在访问文件之前使用os.chdir('/path/to/cgi-bin')
更改程序中的当前工作目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.