Python: Sprawdź, czy plik lub katalog istnieje

Czasami potrzeba sprawdzenia, czy folder istnieje w Pythonie i sprawdzenia, czy istnieje katalog lub plik, staje się istotna, ponieważ być może chcesz zapobiec nadpisaniu już istniejącego pliku, a może chcesz się upewnić, czy plik jest dostępny, czy nie przed załadowaniem To. Więc żeby sprawdzić jak sprawdzić, czy katalog istnieje bez wyjątków w Pythonie mamy następujące sposoby sprawdzenia, czy plik lub katalog już istnieje, czy nie:

Metoda 1: Sprawdź, czy plik lub katalog istnieje w Pythonie, używając os.path.exists()

Moduł systemu operacyjnego w Pythonie udostępnia funkcje umożliwiające interakcję z systemem operacyjnym. System operacyjny należy do standardowych modułów narzędziowych Pythona. Moduł ten zapewnia przenośny sposób korzystania z funkcji zależnych od systemu operacyjnego. ścieżka os moduł jest podmodułem modułu Moduł systemu operacyjnego w Pythonie używany do manipulacji typowymi nazwami ścieżek.

The metoda os.path.exists() w Pythonie służy do sprawdzania, czy określona ścieżka istnieje, czy nie. Metody tej można także użyć do sprawdzenia, czy podana ścieżka odnosi się do otwartego deskryptora pliku, czy też nie.

Składnia:

os.path.exists(path) 

Parametr:

    ścieżka: Obiekt podobny do ścieżki reprezentujący ścieżkę systemu plików. Obiekt podobny do ścieżki to obiekt typu string lub bytes reprezentujący ścieżkę.

Typ zwrotu: Ta metoda zwraca wartość logiczną klasy bool. Ta metoda zwraca True, jeśli ścieżka istnieje, w przeciwnym razie zwraca False.

Przykład:

Program w Pythonie wyjaśniający metodę os.path.exists().

Python3




# importing os module> import> os> # Specify path> path> => '/usr/local/bin/'> # Check whether the specified> # path exists or not> isExist> => os.path.exists(path)> print> (isExist)> # Specify path> path> => '/home/User/Desktop/file.txt'> # Check whether the specified> # path exists or not> isExist> => os.path.exists(path)> print> (isExist)>

Wyjście

True False 

Metoda 2: Sprawdź, czy plik lub katalog istnieje w Pythonie, używając os.path.isfile()

Metoda os.path.isfile() w Pythonie służy do sprawdzania, czy określona ścieżka jest istniejącym zwykłym plikiem, czy nie.

Składnia: os.path.isfile(ścieżka)

Parametr:

    ścieżka: Obiekt podobny do ścieżki reprezentujący ścieżkę systemu plików. Obiekt podobny do ścieżki to obiekt typu string lub bytes reprezentujący ścieżkę.

Typ zwrotu: Ta metoda zwraca wartość logiczną klasy bool. Ta metoda zwraca True, jeśli określona ścieżka jest istniejącym zwykłym plikiem, w przeciwnym razie zwraca False.

Przykład:

Program w języku Python wyjaśniający metodę os.path.isfile().

Python3




# importing os module> import> os> # Path> path> => 'C:/Users/gfg/Desktop/file.txt'> # Check whether the> # specified path is> # an existing file> isFile> => os.path.isfile(path)> print> (isFile)> # Path> path> => '/home/User/Desktop/'> # Check whether the> # specified path is> # an existing file> isFile> => os.path.isfile(path)> print> (isFile)>

Wyjście:

True False 

Metoda 3: Sprawdź, czy plik lub katalog istnieje w Pythonie, używając os.path.isdir()

Metoda os.path.isdir() w Pythonie służy do sprawdzania, czy podana ścieżka jest istniejącym katalogiem, czy nie. Ta metoda korzysta z dowiązania symbolicznego, co oznacza, że ​​jeśli określona ścieżka jest dowiązaniem symbolicznym wskazującym na katalog, wówczas metoda zwróci True.

Składnia: os.ścieżka.isdir(ścieżka)

Parametr:

    ścieżka: Obiekt podobny do ścieżki reprezentujący ścieżkę systemu plików.

Typ zwrotu: Ta metoda zwraca wartość logiczną klasy bool. Ta metoda zwraca True, jeśli określona ścieżka jest istniejącym katalogiem, w przeciwnym razie zwraca False.

Przykład 1:

Program w Pythonie wyjaśniający metodę os.path.isdir().

Python3




# importing os.path module> import> os.path> # Path> path> => '/home/User/Documents/file.txt'> # Check whether the> # specified path is an> # existing directory or not> isdir> => os.path.isdir(path)> print> (isdir)> # Path> path> => '/home/User/Documents/'> # Check whether the> # specified path is an> # existing directory or not> isdir> => os.path.isdir(path)> print> (isdir)>

Wyjście:

False True 

Przykład 2:

Program w języku Python wyjaśniający metodę os.path.isdir(), jeśli podana ścieżka jest dowiązaniem symbolicznym.

Python3




# importing os.path module> import> os.path> # Create a directory> # (in current working directory)> dirname> => 'GeeksForGeeks'> os.mkdir(dirname)> # Create a symbolic link> # pointing to above directory> symlink_path> => '/home/User/Desktop/gfg'> os.symlink(dirname, symlink_path)> path> => dirname> # Now, Check whether the> # specified path is an> # existing directory or not> isdir> => os.path.isdir(path)> print> (isdir)> path> => symlink_path> # Check whether the> # specified path (which is a> # symbolic link ) is an> # existing directory or not> isdir> => os.path.isdir(path)> print> (isdir)>

Wyjście:

True True 

Metoda 4: Sprawdź, czy plik lub katalog istnieje w Pythonie, używając pathlib.Path.exists()

Moduł Pathlib w Pythonie udostępnia różne klasy reprezentujące ścieżki systemu plików z semantyką odpowiednią dla różnych systemów operacyjnych. Moduł ten należy do standardowych modułów narzędziowych Pythona. Klasy ścieżek w module Pathlib podzielone są na czyste ścieżki I betonowe ścieżki . Czyste ścieżki zapewniają jedynie operacje obliczeniowe, ale nie zapewniają operacji we/wy, podczas gdy ścieżki konkretne dziedziczą z czystych ścieżek zapewniają zarówno operacje obliczeniowe, jak i we/wy.

Metoda pathlib.Path.exists() służy do sprawdzania, czy podana ścieżka wskazuje na istniejący plik lub katalog, czy nie.

Składnia: ścieżkalib.Ścieżka.istnieje(ścieżka)

Parametr:

    ścieżka: Obiekt podobny do ścieżki reprezentujący ścieżkę systemu plików.

Typ zwrotu: Ta metoda zwraca wartość logiczną klasy bool. Ta metoda zwraca True, jeśli ścieżka istnieje, w przeciwnym razie zwraca False.

Przykład:

Python3




# Import Path class> from> pathlib> import> Path> # Path> path> => '/home/gfg/Desktop'> # Instantiate the Path class> obj> => Path(path)> # Check if path points to> # an existing file or directory> print> (obj.exists())>

Wyjście:

PRAWDA

Jeśli szukasz w bieżącym katalogu lub poniżej, aby znaleźć folder, użyj ./ przed nazwą folderu, w przeciwnym razie otrzymasz błędny wynik.

Python3




import> os> print> (os.path.isdir(> './my_folder'> ))> # print true or false if my_folder exist or not in current directory> print> (os.path.isdir(> './Folder/search_folder'> ))> #will tell if search_folder exist or not inside Folder>