2010-07-19 25 views
22

Wenn ich eine Datei test.py habe, die sich in einem Verzeichnis befindet, wie kann ich aus test.py herausfinden, in welchem ​​Verzeichnis es sich befindet? os.path.curdir gibt das aktuelle Verzeichnis, aber nicht das Verzeichnis an, in dem sich die Datei befindet. Wenn ich test.py aus einem Verzeichnis "foo" aufrufe, gibt os.curdir foo zurück, aber nicht den Pfad von test.py.Finde den absoluten Pfad zu einer Datei von Python

danke.

Antwort

17

die Antwort zu verwenden:

__file__ 

, die einen relativen Pfad zurückgibt.

os.path.abspath(__file__) 

kann verwendet werden, um den vollständigen Pfad zu erhalten.

0

os.path hat viele Tools für den Umgang mit Pfaden und Informationen über Pfade.

Insbesondere Sie wollen:

os.path.abspath 
28

Hier ist, wie das Inhaltsverzeichnis der aktuellen Datei zu erhalten:

import os 
os.path.abspath(os.path.dirname(__file__)) 
+0

Dies ist die richtige Antwort und sollte als solche gekennzeichnet werden. – catalyst294

1
import os 
dirname, filename = os.path.split(os.path.abspath(__file__)) 
5

die Antworten weit, so haben darauf Sie richtig os.path.abspath, was tut genau die Arbeit, die Sie angefordert haben. Vergessen Sie jedoch nicht, dass os.path.normpath und os.path.realpath auch sehr nützlich bei dieser Art von Aufgaben sein können (um Repräsentation zu normalisieren und symbolische Links zu entfernen) in vielen Fällen (ob Ihr spezifischer Anwendungsfall zu diesen "vielen" gehört) ist unmöglich zu sagen von den knappen Informationen haben wir natürlich ;-).

Verwandte Themen