¿Cuál es la diferencia entre os.path.basename()
y os.path.dirname()
?
Ya busqué respuestas y leí algunos enlaces, pero no entendí. ¿Alguien puede dar una explicación simple?
Ambas funciones usan la os.path.split(path)
función para dividir el nombre de ruta path
en un par; (head, tail)
.
La os.path.dirname(path)
función devuelve la cabeza del camino.
Por ejemplo: el nombre de directorio de '/foo/bar/item'
es '/foo/bar'
.
La os.path.basename(path)
función devuelve la cola del camino.
Por ejemplo: el nombre base de los '/foo/bar/item'
retornos'item'
De: http://docs.python.org/2/library/os.path.html#os.path.basename
item
conitem/
, que es un directorio, luegoos.path.split('foo/bar/item/')
regresa('foo/bar/item', '')
.os.path.basename(os.path.dirname(path))
'foo.bar'
y os.path.dirname (nombre_archivo) devuelve una cadena vacía:''
.Para resumir lo mencionado anteriormente por Breno
Digamos que tiene una variable con una ruta a un archivo
os.path.basename(path)
devuelve la cadena'myfile.py'
y
os.path.dirname(path)
devuelve la cadena'/home/User/Desktop'
(sin una barra inclinada '/')Estas funciones se utilizan cuando tiene que obtener el nombre de archivo / nombre de directorio con un nombre de ruta completo.
En caso de que la ruta del archivo sea solo el nombre del archivo (p. Ej., En lugar de lo
path = '/home/User/Desktop/myfile.py'
que acaba de tenermyfile.py
),os.path.dirname(path)
devuelve una cadena vacía.fuente