Was ist der Unterschied zwischen os.path.basename()
und os.path.dirname()
?
Ich habe bereits nach Antworten gesucht und einige Links gelesen, aber nicht verstanden. Kann jemand eine einfache Erklärung geben?
Beide Funktionen verwenden die os.path.split(path)
Funktion, um den Pfadnamen path
in ein Paar aufzuteilen . (head, tail)
.
Die os.path.dirname(path)
Funktion gibt den Kopf des Pfades zurück.
ZB: Der Dirname von '/foo/bar/item'
ist '/foo/bar'
.
Die os.path.basename(path)
Funktion gibt das Ende des Pfades zurück.
ZB: Der Basisname der '/foo/bar/item'
Retouren'item'
Von: http://docs.python.org/2/library/os.path.html#os.path.basename
item
durchitem/
, bei dem es sich um ein Verzeichnis handelt,os.path.split('foo/bar/item/')
zurückgegeben wird('foo/bar/item', '')
.os.path.basename(os.path.dirname(path))
'foo.bar'
, und os.path.dirname (Dateiname) gibt eine leere Zeichenfolge zurück :''
.Um zusammenzufassen, was Breno oben erwähnt hat
Angenommen, Sie haben eine Variable mit einem Pfad zu einer Datei
os.path.basename(path)
Gibt die Zeichenfolge zurück'myfile.py'
und
os.path.dirname(path)
gibt den String zurück'/home/User/Desktop'
(ohne einen abschließenden Schrägstrich '/')Diese Funktionen werden verwendet, wenn Sie den Dateinamen / Verzeichnisnamen mit einem vollständigen Pfadnamen erhalten müssen.
Falls der Dateipfad nur der Dateiname ist (z. B. anstatt
path = '/home/User/Desktop/myfile.py'
Sie nur habenmyfile.py
), wirdos.path.dirname(path)
eine leere Zeichenfolge zurückgegeben.quelle