繁体   English   中英

Python脚本无法使用Cronjob运行,但可以从浏览器执行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM