V tomto článku se podíváme na program pro získání názvu souboru z dané cesty k souboru v programovacím jazyce Python. Někdy během automatizace můžeme potřebovat název souboru extrahovaný z cesty k souboru.
Je lepší mít znalosti:
- Python OS modul
- Modul cesty Pythonu
- Regulární výrazy
- Vestavěný v rsplit()
Metoda 1: Python OS modul
Příklad 1: Získejte název souboru z cesty bez přípony split()
Python rozdělit() funkce rozdělí daný text na seznam řetězců pomocí definovaného oddělovače a vrátí seznam řetězců, které byly rozděleny poskytnutým oddělovačem.
Python3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Výstup:
VALORANT.exe>
Příklad 2: Získejte název souboru z cesty k souboru pomocí os.path.basename
Základní název v dané cestě lze získat pomocí vestavěné funkce Python os.path.basename(). Funkce path.basename() přijímá argument path a vrací základní název cesty pathname.
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)> |
>
>
Výstup:
test.txt>
Příklad 3: Získejte název souboru z cesty k souboru pomocí os. splittext
Tato metoda skončí souborem a je to přípona, ale co když potřebujeme pouze název souboru bez přípony nebo pouze přípony. Tady splittext funkce v os modulu se objeví. Tato metoda vrátí n-tici řetězců obsahující název souboru a text a můžeme k nim přistupovat pomocí indexování.
Příklad:
Python3
python převádí bajty na řetězec
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>])> |
>
>
Výstup:
('test', '.txt') test.txt> Metoda 2: Získejte název souboru z cesty k souboru pomocí Pathlib
Balíček Python Pathlib nabízí řadu tříd, které popisují cesty souborového systému se sémantikou vhodnou pro mnoho operačních systémů. Standardní obslužné moduly pro Python zahrnují tento modul. Ačkoli zastavit je jedním z atributů nástroje, který umožňuje výpisy názvu souboru z odkazu bez přípony, pokud chceme příponu souboru, můžeme použít atributy názvu
Příklad:
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)> |
>
>
Výstup:
test test.txt>
Metoda 3: Získejte název souboru z cesty k souboru pomocí Regulární výrazy
Můžeme použít regulární výraz ke shodě názvu souboru s konkrétním vzorem.
Pattern - [w]+?(?=.)>
Tento vzor je rozdělen do 3 vzorů
- [w] odpovídá slovům v sadě
- +? odpovídá řetězci, pokud je přítomen pouze jednou ? klíčové slovo
- (?=) odpovídá všem znakům bez nového řádku a nezapomeňte se zastavit u.

Příklad:
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())> |
>
>
Výstup:
seznamy v Javě
test>
Metoda 4: Použijte vestavěnou pythonskou funkci split() k rozdělení cesty k souboru na seznam jednotlivých komponent a poté použijte metodu rsplit():
můžete použít vestavěnou funkci Pythonu split() k rozdělení cesty k souboru na seznam jednotlivých komponent a pak použít metodu rsplit() k rozdělení poslední komponenty (což by měl být název souboru a přípona) do seznamu obsahující název a příponu souboru. Potom můžete použít indexování k extrahování názvu souboru z tohoto seznamu.
Zde je příklad, jak to lze provést:
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'> |
>
>
Výstup: test
Tento přístup nejprve používá funkci split() k rozdělení cesty k souboru na seznam jednotlivých komponent oddělených znakem „/“. Metoda rsplit() se pak použije k rozdělení poslední komponenty (což by měl být název a přípona souboru) do seznamu obsahujícího název a příponu souboru s použitím znaku „.“ jako oddělovače. Název souboru je pak extrahován z tohoto seznamu pomocí indexování. Tento přístup bude fungovat pro jakoukoli cestu a příponu souboru, pokud je cesta k souboru ve formátu, který lze analyzovat pomocí metod split() a rsplit().