大家好
我正在嘗試從 GitHub 運行 python 腳本,https://github.com/dudisgit/gmod_toolgun_prop用于具有功能螢屏的專案,我在 .bashrc 檔案的末尾放置了一個命令
python3 /home/pi/gmod_toolgun_prop-main/main.py
這樣代碼在 RPi 上電后立即執行。在我的 RPi 2B 上運行 Thonny 的 Python IDE 中的腳本時,它執行沒有問題并且螢屏正常作業。但是,當我打開終端時,我從 .bashrc 檔案中運行的代碼中收到一條錯誤訊息:
Traceback (most recent call last):
File "/home/pi/gmod_toolgun_prop-main/main.py", line 381, in <module>
main()
File "/home/pi/gmod_toolgun_prop-main/main.py", line 357, in main
with open(args.config) as config_file:
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'
但是,config.json 檔案與 main.py 檔案位于同一檔案夾中,如下所示:
顯示 config.json 的檔案資源管理器的螢屏截圖與 main.py 位于同一檔案夾中
這是錯誤訊息的螢屏截圖
這是錯誤訊息中作為第 357 行參考的代碼:
with open(args.config) as config_file:
config = json.load(config_file)
main.py 腳本的全部內容在第一段所附的 Github 鏈接中,以及 config.json 檔案和其他相關檔案中。
我對 Python 編程空間相當陌生,所以我不明白是什么導致了這個錯誤,也不明白這個腳本如何處理打開 config.json 檔案。
我試過創建一個自定義服務,但它吐出同樣的錯誤。Crontab 和 local.bashrc 檔案不能直接用于此。這是我嘗試在啟動時執行的最遠距離。
uj5u.com熱心網友回復:
也許使用config.json的絕對路徑會有所幫助,即(根據您的描述)
/home/pi/gmod_toolgun_prop-main/config.json
而不是簡單的檔案名 config.json。
uj5u.com熱心網友回復:
如果 Python 說檔案不存在,那么檔案不存在。唯一的問題是,那里在哪里?
在這種情況下,檔案名是config.json。由于沒有/(沒有目錄名稱),因此該名稱被認為是相對于當前作業目錄的。這可能與主要 Python 模塊的目錄相同,也可能不同,此處為 /home/pi/gmod_toolgun_prop-main/main.py。
您可以通過在打開檔案之前列印當前作業目錄來驗證這一點。你可以用它os.getcwd來做到這一點。或者,使用strace (1) 顯示解釋器打開config.json的嘗試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516861.html
