2016-08-19 59 views
0

訪問文件系統在Python請考慮以下問題:在啓動時的cron

我有一臺Linux機器上運行(樹莓派3,運行Rasbian傑西)上啓動一個Python腳本。 此腳本已被添加到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 /桌面在啓動時?我很可能在這方面是錯誤的。

對此問題的任何解決方案將不勝感激。

+3

當通過crontab調用程序時,更有可能當前目錄未按預期設置。嘗試使用文件的完整路徑名。 – jasonharper

+0

看來你是絕對正確的!如果您將此作爲答案提交,我會很樂意接受 – Aphire

回答

1

無論何時您通過crontab執行腳本,都要準備好使環境變量不同。在這種情況下,您可以簡單地使用您嘗試引用的文件中的整個路徑。

要查看當前環境變量是來自內部的Python,使用方法:

import os 
    os.environ 

你會發現有crontab的環境,無論您正在使用的測試解釋器環境之間的其他區別。

+0

Leerooooooooyyy! – Aphire