Python脚本无法使用Cronjob运行,而是从浏览器执行

2024-04-27 05:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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/数据集中

PS:当我在cgi-bin目录中时,使用shebang命令$python3 pull.py可以完美地工作

任何指导都将不胜感激


Tags: csvinpyioselfpandashomelib
2条回答

必须为数据集使用绝对路径。尝试将Dataset/file.csv更改为/cgi-bin/Dataset/file.csv或任何绝对路径

这是因为您在脚本中使用相对路径,当您从cgi-bin目录工作时,相对路径工作正常,但在使用cron运行时,将以用户的主目录作为工作目录执行程序。为了克服这个问题,正如@Gaurav所提到的,在脚本中使用绝对路径,或者在访问文件之前使用os.chdir('/path/to/cgi-bin')更改程序中的当前工作目录

相关问题 更多 >