Fragen Sie Google-Lehrer und oft
python
import os
os.path.abspath(os.path.dirname(__file__))
Oder so
python
import os, sys
os.path.dirname(sys.argv[0])
Es wird nach dem Wechsel zu zurückgegeben. Es sieht auf den ersten Blick gut aus, aber ** es ist überhaupt nicht gut. ** ** ** Was falsch ist, ist, dass es in Ordnung ist, wenn Sie es nur normal ausführen, aber wenn Sie es über den Pfad ** ausführen, ist es seltsam. ** ** ** Um dies zu beheben
python
import os, sys
if getattr(sys, 'frozen', False):
program_directory = os.path.dirname(os.path.abspath(sys.executable))
else:
program_directory = os.path.dirname(os.path.abspath(__file__))
Ich werde es als geben. Erste Zeile: Legt fest, ob es mit Pyinstaller erstellt wurde oder nicht. Zweite Zeile: Wird beim Erstellen mit Pyinstaller ausgeführt. Gibt den Pfad der von ** sys.executable ** erstellten EXE zurück. Konvertieren Sie es anschließend mit dem OS-Modul in einen Verzeichnispfad. Dritte Zeile: Bedeutung wie sie ist Vierte Zeile: Wird ausgeführt, wenn nicht mit Pyinstaller erstellt wird. Vertrauter Code.
~~ Ich war ungefähr 2 Stunden lang süchtig danach. ~~
Determining application path in a Python EXE generated by pyInstaller - stackoverflow
Recommended Posts