I den här artikeln kommer vi att titta på programmet för att få filnamnet från den givna sökvägen i Python-programmeringsspråket. Ibland under automatisering kan vi behöva filnamnet extraherat från filsökvägen.
Bättre att ha kunskap om:
- Python OS-modul
- Python-sökvägsmodul
- Vanliga uttryck
- Inbyggd rsplit()
Metod 1: Python OS-modul
Exempel 1: Hämta filnamnet från sökvägen utan tillägg split()
Python dela() funktionen bryter den givna texten i en lista med strängar med den definierade avgränsaren och returnerar en lista med strängar som har delats av den angivna avgränsaren.
Python3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Produktion:
VALORANT.exe>
Exempel 2: Hämta filnamnet från filsökvägen med os.path.basename
Basnamnet i den givna sökvägen kan erhållas med den inbyggda Python-funktionen os.path.basename(). Funktionen path.basename() accepterar ett sökvägsargument och returnerar basnamnet för sökvägens sökväg.
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)> |
>
>
Produktion:
test.txt>
Exempel 3: Hämta filnamnet från filsökvägen med hjälp av os. splittext
Den här metoden kommer att sluta med en fil och det är ett tillägg, men tänk om vi bara behöver filnamnet utan tillägg eller bara tillägg. Här splittext funktion i os-modulen kommer in i bilden. Denna metod kommer att returnera en tuppel strängar som innehåller filnamn och text och vi kan komma åt dem med hjälp av indexering.
Exempel:
Python3
np.linspace
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>])> |
>
>
Produktion:
('test', '.txt') test.txt> Metod 2: Få filnamnet från filsökvägen med Pathlib
Python Pathlib-paketet erbjuder ett antal klasser som beskriver filsystemsvägar med semantik som lämpar sig för många operativsystem. Standardverktygsmodulerna för Python inkluderar denna modul. Fastän stam är ett av verktygsattributen som möjliggör utdrag av filnamnet från länken utan förlängning om vi vill ha ett tillägg med filen kan vi använda namnattribut
Exempel:
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)> |
>
>
Produktion:
test test.txt>
Metod 3: Få filnamnet från filsökvägen med Vanliga uttryck
Vi kan använda ett reguljärt uttryck för att matcha filnamnet med det specifika mönstret.
Pattern - [w]+?(?=.)>
Detta mönster är uppdelat i 3 mönster
- [w] matchar orden i uppsättningen
- +? matchar strängen om den bara finns en gång tidigare ? nyckelord
- (?=) matchar alla karaktärer utan nyrad och se till att stanna vid.

Exempel:
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())> |
iPhone emojis på Android-telefon
>
>
Produktion:
test>
Metod 4: Använd den inbyggda Python-funktionen split() för att dela upp filsökvägen i en lista med enskilda komponenter och använd sedan metoden rsplit():
du kan använda den inbyggda Python-funktionen split() för att dela upp filsökvägen i en lista med enskilda komponenter, och sedan använda metoden rsplit() för att dela upp den sista komponenten (som ska vara filnamnet och filtillägget) i en lista som innehåller filnamnet och filtillägget. Du kan sedan använda indexering för att extrahera filnamnet från den här listan.
Här är ett exempel på hur detta kan göras:
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'> |
>
>
Utgång: test
Detta tillvägagångssätt använder först split()-funktionen för att dela upp filsökvägen i en lista med individuella komponenter, separerade med tecknet '/'. Metoden rsplit() används sedan för att dela upp den sista komponenten (som ska vara filnamnet och filtillägget) i en lista som innehåller filnamnet och filtillägget, med tecknet '.' som avgränsare. Filnamnet extraheras sedan från denna lista med hjälp av indexering. Detta tillvägagångssätt kommer att fungera för alla sökvägar och filtillägg, så länge filsökvägen är i ett format som kan analyseras med metoderna split() och rsplit().