在启动 cron 时从 Python 访问文件系统

Access file system from Python on boot-up cron

请考虑以下问题:

我有一个 Python 脚本,它在 linux 机器(Raspberry pi 3,运行 Rasbian Jessie)启动时运行。 此脚本已添加到 sudo crontab -e

脚本本身没有问题,但无法加载与脚本(桌面)位于同一目录中的某个文件,我有任何打印 statements/issues 进入日志文件。内容如下:

Traceback (most recent call last):
  File "/home/pi/Desktop/mainServ.py", line 18, in <module>
    mouth_detector = dlib.simple_object_detector(mouth_detector_path)
RuntimeError: Unable to open mouthDetector.svm

假设这是因为脚本无法访问文件系统,或者可能是在启动时LXDE/Desktop?我很可能在这一点上是错的。

如能解决此问题,我们将不胜感激。

每当您通过 crontab 执行脚本时,请准备好不同的环境变量。在这种情况下,您可以简单地使用您要引用的文件中的整个路径。

要查看 Python 中的当前环境变量是什么,请使用:

    import os
    os.environ

您可能会发现 crontab 环境与您用于测试的任何解释器环境之间存在其他差异。