Šiame straipsnyje apžvelgsime programą, kad gautume failo pavadinimą iš nurodyto failo kelio Python programavimo kalba. Kartais automatizuojant mums gali prireikti failo pavadinimo, ištraukto iš failo kelio.
Geriau turėti žinių apie:
- Python OS modulis
- Python kelio modulis
- Įprastos išraiškos
- Įmontuotas rsplit()
1 būdas: Python OS modulis
Pavyzdys 1: Gaukite failo pavadinimą iš kelio be plėtinio split ()
Python's padalinti () funkcija suskaido pateiktą tekstą į eilučių sąrašą, naudodama apibrėžtą skyriklį, ir grąžina eilučių, kurios buvo padalintos pateiktu skyrikliu, sąrašą.
Python3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Išvestis:
VALORANT.exe>
2 pavyzdys: Gaukite failo pavadinimą iš failo kelio naudodami os.path.basename
Bazinį pavadinimą nurodytame kelyje galima gauti naudojant integruotą Python funkciją os.path.basename(). Funkcija path.basename() priima kelio argumentą ir grąžina pagrindinį kelio pavadinimo kelio pavadinimą.
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)> |
>
>
Išvestis:
test.txt>
3 pavyzdys: gaukite failo pavadinimą iš failo kelio naudodami os. suskaidytas tekstas
Šis metodas baigsis failu ir tai yra plėtinys, bet kas, jei mums reikia tik failo pavadinimo be plėtinio arba tik plėtinių. čia suskaidytas tekstas OS modulio funkcija patenka į paveikslėlį. Šis metodas grąžins eilutes, kuriose yra failo pavadinimas ir tekstas, ir mes galime jas pasiekti indeksuodami.
Pavyzdys:
Python3
Python Rūšiavimo žodynas
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>])> |
>
>
Išvestis:
('test', '.txt') test.txt> 2 būdas: Gaukite failo pavadinimą iš failo kelio naudodami Pathlib
Python Pathlib paketas siūlo daugybę klasių, kurios aprašo failų sistemos kelius su daugeliui operacinių sistemų tinkama semantika. Standartiniuose Python paslaugų moduliuose yra šis modulis. Nors stiebas yra vienas iš naudingumo atributų, įgalinantis failo vardo ištraukas iš nuorodos be plėtinio, jei norime plėtinio su failu, galime naudoti pavadinimo atributus
Pavyzdys:
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)> |
>
>
Išvestis:
test test.txt>
3 būdas: Gaukite failo pavadinimą iš failo kelio naudodami Įprastos išraiškos
Galime naudoti reguliariąją išraišką, kad failo pavadinimas atitiktų konkrečią šabloną.
Pattern - [w]+?(?=.)>
Šis modelis yra padalintas į 3 modelius
- [w] atitinka žodžius rinkinyje
- +? atitinka eilutę, jei ji buvo tik vieną kartą ? raktažodį
- (?=) atitinka visus simbolius be naujos eilutės ir būtinai sustokite ties.

Pavyzdys:
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())> |
>
>
Išvestis:
test>
4 būdas: naudokite integruotą Python funkciją split(), kad padalintumėte failo kelią į atskirų komponentų sąrašą, tada naudokite rsplit() metodą:
galite naudoti integruotą Python funkciją split(), kad padalintumėte failo kelią į atskirų komponentų sąrašą, o tada naudokite rsplit() metodą, kad padalintumėte paskutinį komponentą (kuris turėtų būti failo pavadinimas ir plėtinys) į sąrašą kuriame yra failo pavadinimas ir plėtinys. Tada galite naudoti indeksavimą, kad ištrauktumėte failo pavadinimą iš šio sąrašo.
Štai pavyzdys, kaip tai galima padaryti:
Python3
pašto užsakymo pervežimas
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'> |
>
>
Išėjimas: testas
Šis metodas pirmiausia naudoja split() funkciją, kad failo kelias padalijamas į atskirų komponentų sąrašą, atskirtą simboliu „/“. Tada rsplit() metodas naudojamas paskutiniam komponentui (kuris turėtų būti failo pavadinimas ir plėtinys) suskaidyti į sąrašą, kuriame yra failo pavadinimas ir plėtinys, naudojant simbolį „.“ kaip skyriklį. Tada failo pavadinimas ištraukiamas iš šio sąrašo naudojant indeksavimą. Šis metodas tinka bet kokiam failo keliui ir plėtiniui, jei failo kelias yra tokio formato, kurį galima išanalizuoti naudojant split() ir rsplit() metodus.