Programul Python pentru a obține numele fișierului din calea fișierului
În acest articol, ne vom uita la programul pentru a obține numele fișierului din calea fișierului dată în limbajul de programare Python. Uneori, în timpul automatizării, este posibil să avem nevoie de numele fișierului extras din calea fișierului.
Mai bine să ai cunoștințe despre:
- Python OS-modul
- Modulul de cale Python
- Expresii obisnuite
- Încorporat în rsplit()
Metoda 1: Python OS-modul
Exemplu 1: Obțineți numele fișierului din calea fără extensia split()
Python’s Despică() funcția descompune textul dat într-o listă de șiruri folosind separatorul definit și returnează o listă de șiruri care au fost împărțite de separatorul furnizat.
Python3
import> os> path> => 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print> (os.path.basename(path).split(> '/'> )[> -> 1> ])> |
Ieșire:
VALORANT.exe
Exemplul 2: Obțineți numele fișierului din calea fișierului folosind os.path.basename
Numele de bază din calea dată poate fi obținut folosind funcția Python încorporată os.path.basename(). Funcția path.basename() acceptă un argument cale și returnează numele de bază al căii de cale.
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)> |
Ieșire:
test.txt
Exemplul 3: Obțineți numele fișierului din calea fișierului folosind os. splitext
Această metodă va avea un fișier și este o extensie, dar dacă avem nevoie doar de numele fișierului fără extensie sau doar de extensii. Aici splitext funcția din modulul os intră în imagine. Această metodă va returna un tuplu de șiruri care conțin nume de fișier și text și le putem accesa cu ajutorul indexării.
Exemplu:
Python3
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> ])> |
Ieșire:
('test', '.txt') test.txt Metoda 2: Obțineți numele fișierului din calea fișierului folosind Pathlib
Pachetul Python Pathlib oferă o serie de clase care descriu căile sistemului de fișiere cu o semantică potrivită pentru multe sisteme de operare. Modulele utilitare standard pentru Python includ acest modul. Cu toate că tulpina este unul dintre atributele de utilitate care permite extrageri ale numelui fișierului din link fără extensie dacă dorim o extensie cu fișierul putem folosi atribute de nume
Exemplu:
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)> |
Ieșire:
test test.txt
Metoda 3: Obțineți numele fișierului din calea fișierului folosind Expresii obisnuite
Putem folosi o expresie regulată pentru a potrivi numele fișierului cu modelul specific.
Pattern - [w]+?(?=.)
Acest model este împărțit în 3 modele
- [w] se potrivește cu cuvintele din interiorul setului
- +? se potrivește cu șirul dacă este prezent o singură dată înainte ? cuvânt cheie
- (?=) se potrivește cu toate caracterele fără linie nouă și asigurați-vă că vă opriți la.
Exemplu:
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())> |
Ieșire:
test
Metoda 4: Utilizați funcția Python încorporată split() pentru a împărți calea fișierului într-o listă de componente individuale, apoi utilizați metoda rsplit():
puteți folosi funcția Python încorporată split() pentru a împărți calea fișierului într-o listă de componente individuale, apoi utilizați metoda rsplit() pentru a împărți ultima componentă (care ar trebui să fie numele și extensia fișierului) într-o listă care conține numele și extensia fișierului. Puteți utiliza apoi indexarea pentru a extrage numele fișierului din această listă.
Iată un exemplu despre cum se poate face acest lucru:
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'> |
Ieșire: test
Această abordare folosește mai întâi funcția split() pentru a împărți calea fișierului într-o listă de componente individuale, separate prin caracterul „/”. Metoda rsplit() este apoi folosită pentru a împărți ultima componentă (care ar trebui să fie numele și extensia fișierului) într-o listă care conține numele și extensia fișierului, folosind caracterul „.” ca separator. Numele fișierului este apoi extras din această listă folosind indexare. Această abordare va funcționa pentru orice cale de fișier și extensie, atâta timp cât calea fișierului este într-un format care poate fi analizat folosind metodele split() și rsplit().