logo

Program w języku Python pobierający nazwę pliku ze ścieżki pliku

W tym artykule przyjrzymy się programowi, który pobierze nazwę pliku z podanej ścieżki pliku w języku programowania Python. Czasami podczas automatyzacji możemy potrzebować wyodrębnienia nazwy pliku ze ścieżki pliku.

Lepiej mieć wiedzę na temat:



Metoda 1: Moduł systemu operacyjnego Python

Przykład 1: Pobierz nazwę pliku ze ścieżki bez rozszerzenia split()

Pythona podział() funkcja dzieli podany tekst na listę ciągów przy użyciu zdefiniowanego separatora i zwraca listę ciągów, które zostały podzielone podanym separatorem.

Python3








import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])>

>

>

Wyjście:

VALORANT.exe>

Przykład 2: Pobierz nazwę pliku ze ścieżki pliku za pomocą os.path.basename

Nazwę bazową w podanej ścieżce można uzyskać za pomocą wbudowanej w Pythona funkcji os.path.basename(). Funkcja path.basename() przyjmuje argument ścieżki i zwraca nazwę bazową ścieżki.

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)>

>

>

Wyjście:

test.txt>

Przykład 3: Uzyskaj nazwę pliku ze ścieżki pliku za pomocą os. podzielony tekst

Ta metoda zakończy się plikiem i będzie to rozszerzenie, ale co jeśli potrzebujemy tylko nazwy pliku bez rozszerzenia lub tylko rozszerzeń. Tutaj podzielony tekst pojawia się funkcja w module os. Ta metoda zwróci krotkę ciągów znaków zawierającą nazwę pliku i tekst, do których możemy uzyskać dostęp za pomocą indeksowania.

Przykład:

Python3


algorytm knn



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>])>

>

>

Wyjście:

('test', '.txt') test.txt>

Metoda 2: Uzyskaj nazwę pliku ze ścieżki pliku za pomocą Pathlib

Pakiet Python Pathlib oferuje szereg klas opisujących ścieżki systemu plików z semantyką odpowiednią dla wielu systemów operacyjnych. Standardowe moduły narzędziowe dla Pythona zawierają ten moduł. Chociaż trzon to jeden z atrybutów narzędzia, który umożliwia wyodrębnienie nazwy pliku z linku bez rozszerzenia, jeśli chcemy rozszerzenia z plikiem, możemy użyć atrybutów nazw

Przykład:

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)>

>

>

Wyjście:

test test.txt>

Metoda 3: Uzyskaj nazwę pliku ze ścieżki pliku za pomocą Wyrażenia regularne

Możemy użyć wyrażenia regularnego, aby dopasować nazwę pliku do określonego wzorca.

 Pattern -  [w]+?(?=.)>

Ten wzór jest podzielony na 3 wzory

  • [w] dopasowuje słowa znajdujące się w zestawie
  • +? dopasowuje ciąg, jeśli był obecny tylko raz wcześniej ? słowo kluczowe
  • (?=) dopasowuje wszystkie znaki bez nowej linii i pamiętaj, aby zatrzymać się na.

Przykład:

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())>

>

>

Wyjście:

test>

Metoda 4: Użyj wbudowanej funkcji Pythona split(), aby podzielić ścieżkę pliku na listę poszczególnych komponentów, a następnie użyj metody rsplit():

możesz użyć wbudowanej funkcji Pythona split(), aby podzielić ścieżkę pliku na listę pojedynczych komponentów, a następnie użyć metody rsplit() do podzielenia ostatniego komponentu (który powinna być nazwą pliku i rozszerzeniem) na listę zawierający nazwę pliku i rozszerzenie. Następnie możesz użyć indeksowania, aby wyodrębnić nazwę pliku z tej listy.

Oto przykład, jak można to zrobić:

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'>

witaj świecie z Javą

>

>

Wyjście: test

W tym podejściu najpierw wykorzystuje się funkcję split(), aby podzielić ścieżkę pliku na listę poszczególnych komponentów oddzielonych znakiem „/”. Następnie używana jest metoda rsplit() do podzielenia ostatniego składnika (którym powinna być nazwa i rozszerzenie pliku) na listę zawierającą nazwę pliku i rozszerzenie, używając znaku „.” jako separatora. Nazwa pliku jest następnie wyodrębniana z tej listy za pomocą indeksowania. To podejście będzie działać w przypadku dowolnej ścieżki i rozszerzenia pliku, o ile ścieżka pliku ma format, który można przeanalizować za pomocą metod split() i rsplit().