En aquest article, veurem el programa per obtenir el nom del fitxer de la ruta del fitxer donada en el llenguatge de programació Python. De vegades, durant l'automatització, és possible que necessitem el nom del fitxer extret de la ruta del fitxer.
Millor tenir coneixements de:
- Mòdul Python OS
- Mòdul de ruta de Python
- Expressions regulars
- Construït a rsplit()
Mètode 1: Mòdul Python OS
Exemple 1: obteniu el nom del fitxer del camí sense extensió split()
de Python dividir () La funció divideix el text donat en una llista de cadenes utilitzant el separador definit i retorna una llista de cadenes que s'han dividit pel separador proporcionat.
Python 3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Sortida:
VALORANT.exe>
Exemple 2: Obteniu el nom del fitxer de la ruta del fitxer mitjançant os.path.basename
El nom base del camí donat es pot obtenir mitjançant la funció Python integrada os.path.basename(). La funció path.basename() accepta un argument de camí i retorna el nom base de la ruta del nom de ruta.
Python 3
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)> |
>
>
Sortida:
test.txt>
Exemple 3: obteniu el nom del fitxer de la ruta del fitxer mitjançant os. text dividit
Aquest mètode acabarà amb un fitxer i és una extensió, però què passa si només necessitem el nom del fitxer sense extensió o només extensions. Aquí text dividit La funció del mòdul OS entra a la imatge. Aquest mètode retornarà una tupla de cadenes que contenen nom de fitxer i text i hi podem accedir amb l'ajuda de la indexació.
Exemple:
Python 3
jdbc jdbc
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>])> |
>
>
Sortida:
('test', '.txt') test.txt> Mètode 2: Obteniu el nom del fitxer de la ruta del fitxer utilitzant Pathlib
El paquet Python Pathlib ofereix una sèrie de classes que descriuen les rutes del sistema de fitxers amb una semàntica adequada per a molts sistemes operatius. Els mòduls d'utilitat estàndard per a Python inclouen aquest mòdul. Encara que tija és un dels atributs d'utilitat que permet extreure el nom del fitxer de l'enllaç sense extensió si volem una extensió amb el fitxer podem utilitzar atributs de nom
Exemple:
Python 3
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)> |
>
>
Sortida:
test test.txt>
Mètode 3: Obteniu el nom del fitxer de la ruta del fitxer utilitzant Expressions regulars
Podem utilitzar una expressió regular per fer coincidir el nom del fitxer amb el patró específic.
Pattern - [w]+?(?=.)>
Aquest patró es divideix en 3 patrons
- [w] coincideix amb les paraules dins del conjunt
- +? coincideix amb la cadena si només està present una vegada abans ? paraula clau
- (?=) coincideix amb tots els caràcters sense nova línia i assegureu-vos d'aturar-vos a.

Exemple:
Python 3
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())> |
>
>
java conté una subcadena
Sortida:
test>
Mètode 4: utilitzeu la funció integrada de Python split() per dividir la ruta del fitxer en una llista de components individuals i, a continuació, utilitzeu el mètode rsplit():
podeu utilitzar la funció integrada de Python split() per dividir la ruta del fitxer en una llista de components individuals i, a continuació, utilitzar el mètode rsplit() per dividir l'últim component (que hauria de ser el nom i l'extensió del fitxer) en una llista. que conté el nom i l'extensió del fitxer. A continuació, podeu utilitzar la indexació per extreure el nom del fitxer d'aquesta llista.
Aquí teniu un exemple de com es pot fer això:
Python 3
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'> |
>
>
Sortida: prova
Aquest enfocament fa servir primer la funció split() per dividir la ruta del fitxer en una llista de components individuals, separats pel caràcter '/'. A continuació, s'utilitza el mètode rsplit() per dividir l'últim component (que hauria de ser el nom i l'extensió del fitxer) en una llista que conté el nom i l'extensió del fitxer, utilitzant el caràcter '.' com a separador. El nom del fitxer s'extreu d'aquesta llista mitjançant la indexació. Aquest enfocament funcionarà per a qualsevol ruta i extensió del fitxer, sempre que la ruta del fitxer estigui en un format que es pugui analitzar mitjançant els mètodes split() i rsplit().