在启动 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 环境与您用于测试的任何解释器环境之间存在其他差异。
请考虑以下问题:
我有一个 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 环境与您用于测试的任何解释器环境之间存在其他差异。