HOWTO · Python

Cómo obtener el nombre de archivo del ruta en Python

Este tutorial demostrará cómo obtener el nombre del archivo de la ruta en Python, irrespeto del entorno

En esta página

Este tutorial introduce cómo obtener el nombre de archivo del camino en Python. También se enumeran algunos códigos de ejemplo para demostrar aún más los conceptos asociados a sistemas operativos específicos.

Usar la librería ntpath para obtener el nombre de archivo de la ruta

Las formas de definir un camino pueden ser diferentes. La ruta de un archivo en Windows puede usar tanto la barra invertida como la barra invertida como separador de la ruta. Por lo tanto, el módulo ntpath funcionará para todas las rutas en todas las plataformas.

La librería ntpath soporta una función que es basename. A esta función se le pasa una path y después de ejecutarla, ntpath.basename(path) devuelve el nombre del fichero de la path dada. El ejemplo de base para usar este método se muestra a continuación:

import ntpath

print(ntpath.basename("usr/temp/new/sample"))

Resultado:

sample

Use ntpath.basename() para obtener el nombre de archivo de la ruta

Esta biblioteca también funcionará para Linux. Sin embargo, en Linux, los nombres de los archivos pueden contener barras invertidas. Así que en Linux, r'usr/xyz\python' siempre se refiere al archivo xyz\python en la carpeta usr.

import ntpath

print(ntpath.basename("r'usr/xyz\python'"))

Resultado:

xyz\python

Se refiere al nombre de archivo python en la subcarpeta xyz de la carpeta usr en Windows. Deberíamos saber qué plataforma estamos usando cuando se usan barras inclinadas hacia atrás y hacia adelante en una ruta. De lo contrario, es posible que no interprete la ruta correctamente.

Hay otra forma de obtener el nombre de archivo de la ruta que usa os.path.basename().

Python obtiene el nombre de archivo de la ruta usando os.path.basename()

También puedes usar una función proporcionada por la biblioteca os.path para obtener el nombre del archivo de la ruta. La función es basename que se usa para obtener el nombre del archivo.

El basename toma un path como parámetro y devuelve el filename.

A continuación se muestra el ejemplo de código.

import os

print(os.path.basename("usr/temp/eng"))

Resultado:

eng

Si el sistema es POSIX, y se pasa un camino al estilo de Windows que contiene dobles barras inclinadas hacia adelante a os.path.basename(), la salida será el camino completo dado.

# in Linux
import os

print(os.path.basename("E:\\aws\\temp.jpg"))

Resultado:

E:\\aws\\temp.jpg

Python obtiene el nombre de archivo de la ruta usando os.path.split()

Si la cabeza y la cola se requieren individualmente, se puede usar el método os.path.split(). Este método toma path como argumento y devuelve head y tail del camino.

A continuación se muestra un código de ejemplo.

import os

head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)

Resultado:

/Users/xyz
Downloads