logo

„Python“ programa, skirta gauti failo pavadinimą iš failo kelio

Š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:

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.