Qual è la differenza tra os.path.basename()e os.path.dirname()?
Ho già cercato risposte e letto alcuni link, ma non ho capito. Qualcuno può dare una spiegazione semplice?
Qual è la differenza tra os.path.basename()e os.path.dirname()?
Ho già cercato risposte e letto alcuni link, ma non ho capito. Qualcuno può dare una spiegazione semplice?
Risposte:
Entrambe le funzioni usano la os.path.split(path)funzione per dividere il percorso pathin una coppia; (head, tail).
Il os.path.dirname(path) funzione restituisce la testa del percorso.
Ad esempio: il dirname di '/foo/bar/item'è'/foo/bar' .
Il os.path.basename(path) funzione restituisce la coda del percorso.
Ad esempio: il nome di base dei '/foo/bar/item'resi'item'
Da: http://docs.python.org/2/library/os.path.html#os.path.basename
os.path.basename(os.path.dirname(path))
'foo.bar'e os.path.dirname (nome_file) restituisce una stringa vuota: ''.
Riassumendo quanto sopra citato da Breno
Supponi di avere una variabile con un percorso a un file
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) restituisce la stringa 'myfile.py'
e
os.path.dirname(path)restituisce la stringa '/home/User/Desktop'(senza una barra finale '/')
Queste funzioni vengono utilizzate quando è necessario ottenere un nome di percorso completo per il nome file / directory.
Nel caso in cui il percorso del file sia solo il nome del file (ad es. Invece di path = '/home/User/Desktop/myfile.py'avere solo myfile.py), os.path.dirname(path)restituisce una stringa vuota.
itemconitem/, che è una directory, quindios.path.split('foo/bar/item/')ritorna('foo/bar/item', '').