Als Referenz. Der absolute Pfad ist der vollständige Pfad zu einem Ort auf Ihrem Computer. Der relative Pfad ist der Pfad zu einer Datei in Bezug auf Ihr aktuelles Arbeitsverzeichnis (PWD). Zum Beispiel:
Absoluter Pfad: C:/users/admin/docs/stuff.txt
Wenn meine PWD C:/users/admin/
lautet, lautet der relative Pfad zu stuff.txt
: docs/stuff.txt
Beachten Sie, dass PWD + relativer Pfad = absoluter Pfad ist.
Cool, großartig. Jetzt habe ich ein paar Skripte geschrieben, die prüfen, ob eine Datei existiert.
os.chdir("C:/users/admin/docs") os.path.exists("stuff.txt")
Dies gibt TRUE
zurück, wenn stuff.txt
existiert und funktioniert .
Nun, stattdessen, wenn ich schreibe,
os.path.exists("C:/users/admin/docs/stuff.txt")
Dies gibt auch TRUE
zurück.
Gibt es einen bestimmten Zeitpunkt, an dem wir einen über den anderen legen müssen? Gibt es eine Methode, wie Python nach Pfaden sucht? Versucht es einer zuerst dann der andere?
Vielen Dank!
Die größte Überlegung ist wahrscheinlich die Portabilität. Wenn Sie Ihren Code auf einen anderen Computer verschieben und auf eine andere Datei zugreifen müssen, wo befindet sich diese andere Datei? Wenn es sich im Verhältnis zu Ihrem Programm an derselben Stelle befindet, verwenden Sie eine relative Adresse. Wenn es sich an derselben absoluten Position befindet, verwenden Sie eine absolute Adresse.
Wenn Sie nicht wissen, von wo aus der Benutzer das Skript ausführen wird, ist es am besten, den absoluten Pfad auf dem System des Benutzers mit os
und __file__
zu berechnen.
__file__
ist eine globale Variable, die in jedem Python-Skript festgelegt ist und den relativen Pfad zu der *.py
-Datei zurückgibt, die sie enthält.
import os
my_absolute_dirpath = os.path.abspath(os.path.dirname(__file__))