Heim >Backend-Entwicklung >Python-Tutorial >## Wie kann der Pfad der ausgeführten Datei in Python zuverlässig ermittelt werden?

## Wie kann der Pfad der ausgeführten Datei in Python zuverlässig ermittelt werden?

DDD
DDDOriginal
2024-10-25 04:40:02458Durchsuche

## How to Reliably Determine the Path of the Executing File in Python?

Bestimmen des Pfads der ausgeführten Datei in Python

In Python kann das Ermitteln des Pfads zur aktuell ausgeführten Datei eine komplizierte Aufgabe sein. Verschiedene für diesen Zweck vorgeschlagene Methoden weisen Einschränkungen auf, wie unten erläutert:

  • os.path.abspath(os.path.dirname(sys.argv[0])): Dieser Ansatz schlägt fehl, wenn das Skript aus einem anderen Python-Skript ausgeführt wird, das sich in einem anderen Verzeichnis befindet.
  • os.path.abspath(os.path.dirname(__file__ )): Diese Methode schlägt in mehreren Szenarien fehl, unter anderem wenn das Skript:

       <li>Runs via py2exe (a workaround exists)</li>
       <li> Executes from IDLE using execute() (lacks __file__ attribute)</li>
       <li> Executes in Mac OS X v10.6 with NameError</li>


  • Um diese Einschränkungen zu beheben, gibt es eine alternative Lösung:

    <code class="python">from inspect import getsourcefile
    from os.path import abspath
    path = abspath(getsourcefile(lambda:0))</code>

    Dieser Code kombiniert die Funktionen der Module inspect und os.path, um den absoluten Pfad der Quelldatei für den aktuell ausgeführten Codeblock zu erhalten , unabhängig vom Ausführungskontext.

    Das obige ist der detaillierte Inhalt von## Wie kann der Pfad der ausgeführten Datei in Python zuverlässig ermittelt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    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