Ich möchte den aktuellen Dateipfad abfragen. Ich habe es versucht:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Aber wie kann ich den Verzeichnispfad abrufen?
Zum Beispiel:
'C:\\python27\\'
Wenn Sie das Verzeichnis des auszuführenden Skripts meinen:
import os
os.path.dirname(os.path.abspath(__file__))
Wenn Sie das aktuelle Arbeitsverzeichnis meinen:
import os
os.getcwd()
Beachten Sie, dass vor und nach "file" zwei Unterstriche stehen, nicht nur ein Unterstrich.
Beachten Sie auch, dass, wenn Sie interaktiv arbeiten oder Code von etwas anderem als einer Datei geladen haben (z.B. einer Datenbank oder Online-Ressource), __file__
nicht gesetzt sein kann, da es keine Vorstellung von "aktueller Datei" gibt. Die obige Antwort geht von dem häufigsten Szenario aus, ein Python-Skript auszuführen, das sich in einer Datei befindet.
Sie können die Bibliotheken os
und os.path
einfach wie folgt verwenden
import os
os.chdir(os.path.dirname(os.getcwd()))
os.path.dirname
gibt das obere Verzeichnis vom aktuellen zurück.
Es erlaubt uns, zu einer höheren Ebene zu wechseln, ohne ein Dateiargument zu übergeben und ohne den absoluten Pfad zu kennen.