首頁 > 後端開發 > Python教學 > 如何檢索 pyInstaller 產生的 EXE 中的應用程式路徑?

如何檢索 pyInstaller 產生的 EXE 中的應用程式路徑?

DDD
發布: 2024-11-11 14:28:03
原創
348 人瀏覽過

How to Retrieve the Application Path in a pyInstaller-Generated EXE?

檢索由 pyInstaller 創建的 Python EXE 中的應用程式路徑

在程式設計領域,了解應用程式的執行上下文至關重要。特別是在處理捆綁應用程式時,例如使用 pyInstaller 建立的應用程式。當應用程式需要存取位於其旁邊的設定檔時,就會出現一個常見的挑戰。在本文中,我們將探索一種技術來解決此問題,方法是在 pyInstaller 生成的 EXE 中準確地檢索應用程式的路徑。

當使用傳統方法建構與應用程式相鄰的檔案的路徑時,如下面的程式碼片段所示:

import os
config_name = 'myapp.cfg'
config_path = os.path.join(sys.path[0], config_name)
登入後複製

人們在 pyInstaller EXE 的上下文中遇到了困境。 sys.path 清單通常包含應用程式所在的目錄,但它是空的。為了解決這個問題,我們採用了一種更強大的方法來區分腳本和凍結的可執行檔。

import os
import sys

config_name = 'myapp.cfg'

# Distinguish script file from frozen exe
if getattr(sys, 'frozen', False):
    application_path = os.path.dirname(sys.executable)
elif __file__:
    application_path = os.path.dirname(__file__)

config_path = os.path.join(application_path, config_name)
登入後複製

在此程式碼中,我們檢查「sys」模組的「frozen」屬性。如果為 True,我們推測該應用程式正在作為凍結的可執行檔運行,並從“sys.executable”派生其路徑。相反,如果 file 存在,我們就斷定應用程式正在以腳本模式運行,並且其路徑源自 __file__。

利用此方法可以確保成功檢索應用程式的路徑,從而能夠存取相關文件,例如關鍵設定檔。

以上是如何檢索 pyInstaller 產生的 EXE 中的應用程式路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板