V tem članku si bomo ogledali program za pridobivanje imena datoteke iz dane poti datoteke v programskem jeziku Python. Včasih bomo med avtomatizacijo morda potrebovali ime datoteke, ekstrahirano iz poti datoteke.
Bolje je imeti znanje o:
- Python OS-modul
- Modul poti Python
- Regularni izrazi
- Vgrajeno v rsplit()
1. način: Python OS-modul
Primer 1: Pridobite ime datoteke iz poti brez pripone split()
Pythonov razdeli () funkcija razdeli dano besedilo na seznam nizov z uporabo definiranega ločila in vrne seznam nizov, ki so bili razdeljeni s podanim ločilom.
Python3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Izhod:
VALORANT.exe>
Primer 2: Pridobite ime datoteke iz poti datoteke z os.path.basename
Osnovno ime v podani poti je mogoče pridobiti z uporabo vgrajene funkcije Python os.path.basename(). Funkcija path.basename() sprejme argument poti in vrne osnovno ime poti imena poti.
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)> |
>
>
Izhod:
test.txt>
Primer 3: Pridobite ime datoteke iz poti datoteke z uporabo os. razdeljeno besedilo
Ta metoda bo končala z datoteko in to je končnica, a kaj, če potrebujemo samo ime datoteke brez končnice ali samo končnice. Tukaj razdeljeno besedilo funkcija v modulu os pride v poštev. Ta metoda bo vrnila nabor nizov, ki vsebujejo ime datoteke in besedilo, do njih pa lahko dostopamo s pomočjo indeksiranja.
primer:
Python3
c# vadnica
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>])> |
>
>
Izhod:
('test', '.txt') test.txt> 2. način: Pridobite ime datoteke iz poti datoteke z uporabo Pathlib
Paket Python Pathlib ponuja številne razrede, ki opisujejo poti datotečnega sistema s semantiko, primerno za številne operacijske sisteme. Standardni pomožni moduli za Python vključujejo ta modul. čeprav steblo je eden izmed atributov pripomočka, ki omogoča izvlečke imena datoteke iz povezave brez končnice, če želimo končnico z datoteko, lahko uporabimo atribute imena
primer:
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)> |
java prebere datoteko vrstico za vrstico
>
>
Izhod:
test test.txt>
3. način: Pridobite ime datoteke iz poti datoteke z uporabo Regularni izrazi
Za ujemanje imena datoteke z določenim vzorcem lahko uporabimo regularni izraz.
Pattern - [w]+?(?=.)>
Ta vzorec je razdeljen na 3 vzorce
- [w] se ujema z besedami v nizu
- +? se ujema z nizom, če je prisoten samo enkrat ? ključna beseda
- (?=) se ujema z vsemi znaki brez nove vrstice in se obvezno ustavite pri.

primer:
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())> |
>
>
Izhod:
test>
4. način: uporabite vgrajeno funkcijo Python split(), da razdelite pot datoteke na seznam posameznih komponent, nato pa uporabite metodo rsplit():
lahko uporabite vgrajeno Pythonovo funkcijo split(), da razdelite pot datoteke na seznam posameznih komponent, nato pa z metodo rsplit() razdelite zadnjo komponento (ki bi morala biti ime datoteke in končnica) na seznam ki vsebuje ime in končnico datoteke. Nato lahko z indeksiranjem izvlečete ime datoteke s tega seznama.
Tu je primer, kako je to mogoče storiti:
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'> |
>
>
Izhod: test
Ta pristop najprej uporabi funkcijo split(), da razdeli pot datoteke na seznam posameznih komponent, ločenih z znakom '/'. Metoda rsplit() se nato uporabi za razdelitev zadnje komponente (ki bi morala biti ime datoteke in končnica) na seznam, ki vsebuje ime datoteke in končnico, z uporabo znaka '.' kot ločilo. Ime datoteke se nato ekstrahira s tega seznama z uporabo indeksiranja. Ta pristop bo deloval za katero koli pot datoteke in pripono, če je pot datoteke v formatu, ki ga je mogoče razčleniti z metodama split() in rsplit().