簡體   English   中英

在啟動(startx)時使用絕對路徑啟動python腳本,其中存在相對路徑

[英]Starting a python script on boot (startx) with an absolute path, in which there are relative paths

我意識到這個問題可能已經存在,但是我找到的答案沒有用,並且我的設置略有不同。

我有一個python文件/home/pi/python_games/frontend.py ,我正在嘗試通過將@python /home/pi/python_games/frontend.py放在/etc/xdg/lxsession/LXDE/autostart來啟動lxde時啟動的python文件。

它不會運行,並且沒有錯誤消息。

嘗試運行python /home/pi/python_games/frontend.py ,python抱怨無法找到使用相對鏈接加載的文件,例如: /home/pi/python_games/image.pngimage.png 顯然,一種解決方案是為這些資源提供絕對路徑,但是python程序還會在其目錄中調用其他python程序,這些程序也具有相對路徑,因此我不想更改所有路徑。

任何人有任何想法嗎?

謝謝湯姆

您可以在開始調用相對導入之前在腳本內更改當前工作目錄,請使用os.chdir(“腳本所在的絕對路徑”)。

您可以在frontend.py腳本中使用預定義的__file__模塊屬性的值(該腳本文件的絕對路徑名)來確定同一目錄中其他文件的絕對路徑,而不必更改當前的工作目錄。

os.path模塊中的函數,例如split()join() ,將使此操作相當容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM