¿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 pathen 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
itemconitem/, 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