Wie kann ich zuverlässig den Pfad des aktuell ausgeführten Python-Skripts ermitteln?

Mary-Kate Olsen
Freigeben: 2024-10-26 18:30:03
Original
876 Leute haben es durchsucht

How Can I Reliably Get the Path of the Currently Executing Python Script?

Den Pfad der aktuell ausgeführten Datei in Python finden

Das Ermitteln des Pfads zum aktuellen Ausführungsskript in Python ist entscheidend für den Zugriff auf Dateien und Durchführung verschiedener Operationen. Allerdings können mehrere Ansätze unter bestimmten Bedingungen scheitern. In diesem Artikel wird eine zuverlässige Methode zum Abrufen des Dateipfads in verschiedenen Szenarien untersucht.

Die Herausforderung mit vorhandenen Ansätzen

Häufig verwendete Methoden wie os.path.abspath(os. path.dirname(sys.argv[0])) und os.path.abspath(os.path.dirname(__file__)) haben Einschränkungen. sys.argv[0] stellt möglicherweise nicht den richtigen Pfad bereit, wenn es von einem anderen Python-Skript ausgeführt wird, während __file__ in py2exe-Skripten, IDLE, Mac OS Lösung

Um diese Probleme zu beheben, besteht ein zuverlässiger Ansatz darin, die Module inspect und os zu verwenden:

Mit getsourcefile(lambda:0) können Sie die Quelldatei von abrufen die aktuell ausgeführte Lambda-Funktion, wodurch die Einschränkungen anderer Methoden effektiv umgangen werden. Der Pfad wird dann mit abspath extrahiert.

<code class="python">from inspect import getsourcefile
from os.path import abspath</code>
Nach dem Login kopieren

Beispielszenario

Betrachten Sie die folgende Verzeichnisstruktur:

a.py
C:.
|   a.py
\---subdir
        b.py
Nach dem Login kopieren
enthält:

b.py
<code class="python">from inspect import getsourcefile
from os.path import abspath

print("a.py: File Path =", abspath(getsourcefile(lambda:0)))
execfile("subdir/b.py")</code>
Nach dem Login kopieren
enthält:

Beim Ausführen von a.py sollte Folgendes angezeigt werden:

<code class="python">from inspect import getsourcefile
from os.path import abspath

print("b.py: File Path =", abspath(getsourcefile(lambda:0)))</code>
Nach dem Login kopieren

Dies demonstriert die Fähigkeit, den Dateipfad in verschiedenen Situationen korrekt zu ermitteln.

Das obige ist der detaillierte Inhalt vonWie kann ich zuverlässig den Pfad des aktuell ausgeführten Python-Skripts ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!