[PYTHON] Rufen Sie den Speicherort der Datei ab, in der sich die Exe befindet, wenn Sie die von PyInstaller erstellte Exe ausführen

Tolle punktgenaue Informationen Es geht um das Mac-Terminal. In Windows nicht verifiziert

Fazit

Ich habe den vollständigen Pfad der exe-Datei in sys.args [0] erhalten, also habe ich ihn verwendet.

Wo in Schwierigkeiten

Beim Ausführen der exe-Datei scheint sie in das Ausgangsverzeichnis des Benutzers zu dekomprimieren und den Prozess auszuführen. Ich wollte die Excel-Datei an den Speicherort ausspucken, an dem die Exe ausgeführt wurde, aber die Excel-Datei wird im Ausgangsverzeichnis generiert, unabhängig vom Speicherort, an dem die Exe-Datei ausgeführt wird. Die Python-Datei wird nach dem Dekomprimieren der Exe ebenfalls in das Home-Verzeichnis erweitert.

print(os.path.abspath(__file__)))
# /Users/Nutzername/do_something.py

Versuchen Sie es mit print (sys.args)

Übergeben Sie die ausführbare Datei als Argument, wenn Sie einen Python-Befehl ausführen oder im Terminal ausführen. Ja, ist es nicht möglich, "print (sys.args)" zu verwenden? Ich dachte, ich habe es versucht und es kam heraus.

[/Users/Nutzername/exe Dateispeicherung/dist/do_something_exe_file]

Stellen Sie den Speicherort der Datei auf den Ausführungsspeicherort ein.

Wenn Sie danach die Standardoperation ausführen, ist dies in Ordnung

python


file_path = os.path.join(os.path.dirname(sys.argv[0]), file_name)

Impressionen

Ich denke, dass es eine Branche ist, in der Grundkenntnisse und periphere Kenntnisse wichtig sind.

Recommended Posts

Rufen Sie den Speicherort der Datei ab, in der sich die Exe befindet, wenn Sie die von PyInstaller erstellte Exe ausführen
Wenn eine Datei im freigegebenen Ordner von Raspberry Pi abgelegt wird, wird der Vorgang ausgeführt.
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Vorübergehende Lösung für das Problem, dass die von PyInstaller erstellte Exe-Datei von AVAST oder AVG als Trojaner verwechselt wird
So erhalten Sie das Verzeichnis, in dem die mit Pyinstaller erstellte EXE-Datei vorhanden ist
Wenn ich die exe-Datei mit pyinstaller ausführe, stürzt mein PC ab.
EXE die mit PyQt5 mit PyInstaller erstellte Anwendung
[Python] Ruft den Zeichencode der Datei ab
Laden Sie die von Google Colaboratory erstellte CSV-Datei herunter
Holen Sie sich die Region, in der AWS Lambda ausgeführt wird
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
Zeigen Sie nach und nach die Ausgabe des Befehls an, der von subprocess.Popen ausgeführt wird
Um den Ort, an dem der Wert von Errbot gespeichert ist
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
Holen Sie sich das Bild von "Suzu Hirose" von Google Bildersuche.
Lassen Sie die SQL vom Dataset ausführen (Python OR Mapper)
Wenn Sie das Update von ManjaroLinux für seltsam halten
Die Kopiermethode von pandas.DataFrame ist standardmäßig Deep Copy