Heim >Backend-Entwicklung >Python-Tutorial >Wie bestimme ich den Anwendungspfad in von pyInstaller generierten Python-EXE-Dateien?
Bestimmen des Anwendungspfads in von pyInstaller generierten Python-EXE-Dateien
Beim Erstellen von Python-Anwendungen als EXE-Dateien mit pyInstaller ist es erforderlich, bestimmte Dateien relativ zu lokalisieren zum Pfad der Anwendung. Für Anwendungen, die Konfigurationsdateien neben der ausführbaren Datei erfordern, schlägt die herkömmliche Methode der Verwendung von sys.path[0] in EXE-Szenarien fehl.
Um dieses Problem zu beheben, wird ein zuverlässigerer Ansatz verwendet:
import os import sys config_name = 'myapp.cfg' # Check if the application is a script or a 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)
Die Funktion getattr() wird verwendet, um zu bestimmen, ob das „eingefrorene“ Attribut in sys definiert ist, was auf einen EXE-Kontext hinweist. Wenn dies der Fall ist, wird der Anwendungspfad auf das Verzeichnis festgelegt, das die ausführbare EXE-Datei enthält. Andernfalls wird auf die Verwendung des __file__-Attributs des laufenden Python-Moduls zurückgegriffen.
Durch die Integration dieses Ansatzes können Anwendungen konsistent ihren aktuellen Pfad abrufen, unabhängig davon, ob sie als Skripte ausgeführt oder in pyInstaller-EXE-Dateien konvertiert werden. Dadurch wird sichergestellt, dass Konfigurationsdateien und andere zugehörige Ressourcen auch in EXE-Umgebungen immer zugänglich sind.
Das obige ist der detaillierte Inhalt vonWie bestimme ich den Anwendungspfad in von pyInstaller generierten Python-EXE-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!