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

时间:2016-08-19 17:57:32

标签: python linux cron x11

请考虑以下问题:

我有一个Python脚本,可以在Linux机器上运行(Raspberry pi 3,运行Rasbian Jessie)。 此脚本已添加到sudo crontab -e

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

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?我很可能在这方面做错了。

非常感谢任何解决此问题的方案。

1 个答案:

答案 0 :(得分:1)

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

要查看Python中当前环境变量的内容,请使用:

    import os
    os.environ

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