Ich überprüfe, ob ein Verzeichnis vorhanden ist, aber ich habe festgestellt, dass ich os.path.exists
anstelle von verwende os.path.isdir
. Beide funktionieren einwandfrei, aber ich bin gespannt, welche Vorteile es bietet, isdir
anstatt zu verwenden exists
.
79
os.path.isdir
kehrt für mich auf einem Symlink zurück.os.path.isdir('.ipynb_checkpoints')
wahr zurückkehrenSo wie es sich anhört: Wenn der Pfad existiert, aber eine Datei und kein Verzeichnis ist,
isdir
wird zurückgegebenFalse
. In der Zwischenzeitexists
wirdTrue
in beiden Fällen zurückkehren.quelle
os.path.isdir () prüft, ob der Pfad existiert und ein Verzeichnis ist, und gibt für den Fall TRUE zurück.
In ähnlicher Weise prüft os.path.isfile () , ob der Pfad vorhanden ist und eine Datei ist, und gibt für den Fall TRUE zurück.
Und os.path.exists () prüft, ob der Pfad vorhanden ist, und kümmert sich nicht darum, ob der Pfad auf eine Datei oder ein Verzeichnis verweist und in beiden Fällen TRUE zurückgibt.
quelle
Meistens ist es das gleiche.
Der Pfad kann jedoch physisch existieren, während
path.exists()
False zurückgegeben wird. Dies ist der Fall, wenn os.stat () für diese Datei False zurückgibt.Wenn der Pfad physisch vorhanden ist,
path.isdir()
wird immer True zurückgegeben. Dies hängt nicht von der Plattform ab.quelle
isdir()
kann ich sicher nicht wissen, ob das Verzeichnis vorhanden ist.quelle