logo

Programa Python para obtener el nombre del archivo a partir de la ruta del archivo

En este artículo, veremos el programa para obtener el nombre del archivo de la ruta del archivo proporcionada en el lenguaje de programación Python. A veces, durante la automatización, es posible que necesitemos extraer el nombre del archivo de la ruta del archivo.

Es mejor tener conocimientos de:



Método 1: Módulo Python OS

Ejemplo 1: Obtenga el nombre del archivo de la ruta sin extensión split()

pitón dividir() La función divide el texto dado en una lista de cadenas utilizando el separador definido y devuelve una lista de cadenas que han sido divididas por el separador proporcionado.

Python3








import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])>

>

>

Producción:

VALORANT.exe>

Ejemplo 2: Obtenga el nombre del archivo de la ruta del archivo usando os.path.basename

El nombre base en la ruta proporcionada se puede obtener usando la función incorporada de Python os.path.basename(). La función path.basename() acepta un argumento de ruta y devuelve el nombre base de la ruta de acceso.

Python3




import> os> file_path>=> 'C:/Users/test.txt'> # file path> # using basename function from os> # module to print file name> file_name>=> os.path.basename(file_path)> print>(file_name)>

>

>

Producción:

test.txt>

Ejemplo 3: obtener el nombre del archivo de la ruta del archivo usando os. texto dividido

Este método terminará con un archivo y su extensión, pero ¿qué pasa si solo necesitamos el nombre del archivo sin extensión o solo extensiones? Aquí texto dividido La función en el módulo del sistema operativo entra en escena. Este método devolverá una tupla de cadenas que contienen nombre de archivo y texto y podremos acceder a ellas con la ayuda de la indexación.

Ejemplo:

Python3


git agregar todo



import> os> file_path>=> 'C:/Users/test.txt'> file_name>=> os.path.basename(file_path)> file> => os.path.splitext(file_name)> print>(>file>)># returns tuple of string> print>(>file>[>0>]>+> file>[>1>])>

>

>

Producción:

('test', '.txt') test.txt>

Método 2: Obtenga el nombre del archivo de la ruta del archivo usando rutalib

El paquete Python Pathlib ofrece una serie de clases que describen rutas del sistema de archivos con una semántica adecuada para muchos sistemas operativos. Los módulos de utilidad estándar para Python incluyen este módulo. A pesar de provenir es uno de los atributos de la utilidad que permite extraer el nombre del archivo del enlace sin extensión. Si queremos una extensión con el archivo, podemos usar atributos de nombre.

Ejemplo:

Python3




from> pathlib>import> Path> file_path>=> 'C:/Users/test.txt'> # stem attribute extracts the file> # name> print>(Path(file_path).stem)> # name attribute returns full name> # of the file> print>(Path(file_path).name)>

>

>

cuantas ciudades hay en estados unidos de america

Producción:

test test.txt>

Método 3: Obtenga el nombre del archivo de la ruta del archivo usando Expresiones regulares

Podemos usar una expresión regular para hacer coincidir el nombre del archivo con el patrón específico.

 Pattern -  [w]+?(?=.)>

Este patrón se divide en 3 patrones.

  • [w] coincide con las palabras dentro del conjunto
  • +? coincide con la cadena si está presente solo una vez antes ? palabra clave
  • (?=) coincide con todos los caracteres sin nueva línea y asegúrese de detenerse en.

Ejemplo:

Python3




import> re> file_path>=> 'C:/Users/test.txt'> pattern>=> '[w-]+?(?=.)'> # searching the pattern> a>=> re.search(pattern, file_path)> # printing the match> print>(a.group())>

>

>

Producción:

test>

Método 4: use la función integrada de Python split() para dividir la ruta del archivo en una lista de componentes individuales y luego use el método rsplit():

puede usar la función integrada de Python split() para dividir la ruta del archivo en una lista de componentes individuales, y luego usar el método rsplit() para dividir el último componente (que debe ser el nombre del archivo y la extensión) en una lista que contiene el nombre del archivo y la extensión. Luego puede utilizar la indexación para extraer el nombre del archivo de esta lista.

A continuación se muestra un ejemplo de cómo se puede hacer esto:

Python3




def> get_file_name(file_path):> >file_path_components>=> file_path.split(>'/'>)> >file_name_and_extension>=> file_path_components[>->1>].rsplit(>'.'>,>1>)> >return> file_name_and_extension[>0>]> # Example usage> file_path>=> 'C:/Users/test.txt'> result>=> get_file_name(file_path)> print>(result)># Output: 'test'>

>

>

Salida: prueba

Este enfoque utiliza primero la función split() para dividir la ruta del archivo en una lista de componentes individuales, separados por el carácter '/'. Luego, el método rsplit() se usa para dividir el último componente (que debe ser el nombre del archivo y la extensión) en una lista que contiene el nombre del archivo y la extensión, usando el carácter '.' como separador. Luego, el nombre del archivo se extrae de esta lista mediante indexación. Este enfoque funcionará para cualquier ruta y extensión de archivo, siempre que la ruta del archivo esté en un formato que pueda analizarse utilizando los métodos split() y rsplit().