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?
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?
Antworten:
Beide Funktionen verwenden die os.path.split(path)Funktion, um den Pfadnamen pathin 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
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
path = '/home/User/Desktop/myfile.py'
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 haben myfile.py), wird os.path.dirname(path)eine leere Zeichenfolge zurückgegeben.
itemdurchitem/, bei dem es sich um ein Verzeichnis handelt,os.path.split('foo/bar/item/')zurückgegeben wird('foo/bar/item', '').