Zależność Pythona od plików zewnętrznych jest kluczowym aspektem, mądrze jest zwrócić uwagę na pliki bazowe/źródłowe przed wykonaniem jakiegokolwiek kodu. Przed uruchomieniem konkretnego programu musisz upewnić się, że pliki źródłowe istnieją w określonej lokalizacji.

Każdy programista rozumie potrzebę tworzenia kodów awaryjnych, które mogą uchronić program przed niepowodzeniem w przypadku, gdy warunek nie zostanie spełniony. W Pythonie istnieje kilka sposobów sprawdzenia, czy plik istnieje; oto najważniejsze metody, o których powinieneś wiedzieć.

1. Spróbuj i z wyjątkiem oświadczeń

ten try i z wyjątkiem instrukcji sprawdza polecenie i generuje dane wyjściowe. W poniższym kodzie próbować instrukcja spróbuje otworzyć plik (plik testowy.txt). Jeśli procesor Pythona jest w stanie zlokalizować plik, otworzy go i wydrukuje wynik Plik jest otwarty i dostępny do użytku.

próbować:
f = otwórz('plik testowy.txt')
print("Plik jest dostępny do użycia")
f.zamknij()
z wyjątkiem IOError:
print('Plik jest niedostępny')
instagram viewer

Jeśli napotka błąd, wydrukuje wynik Plik jest niedostępny. Po skompilowaniu i wykonaniu pełnego kodu zamknie otwarty plik, jeśli został otwarty.

Zależność Pythona od plików zewnętrznych jest kluczowym aspektem i musisz zwrócić uwagę na pliki podstawowe/źródłowe przed wykonaniem jakichkolwiek kodów.

Przed uruchomieniem określonego programu upewnij się, że pliki źródłowe znajdują się w określonej lokalizacji.

2. Os.path.isfile (ścieżka)

Python ma wbudowany moduł systemu operacyjnego, który można wywołać do interakcji z podstawowymi plikami, folderami i katalogami. Pythona os.ścieżka.isfile() Metoda może być użyta do sprawdzenia katalogu i czy istnieje określony plik.

Pierwszym krokiem jest zaimportowanie wbudowanej funkcji za pomocą importuj ścieżkę os Biblioteka. Następne polecenie sprawdza, czy plik istnieje w określonej lokalizacji.

importuj ścieżkę os
os.path.isfile (r"C:\Users\Wini Bhalla\Desktop\Python test file.txt")

Wyjście powraca Prawdziwe, ponieważ plik istnieje w określonej lokalizacji. Jeśli plik nie istnieje, Python zwróci Fałszywe.

3. Os.path.exists (ścieżka)

Na podobnych podstawach importuj system Instrukcja biblioteki może być użyta do sprawdzenia, czy katalog istnieje w systemie.

Składnia jest dość prosta:

Importuj ścieżkę os
os.path.exists (r"C:\Users\Wini Bhalla\Desktop\test")

Podobnie jak w poprzednim kroku, jeśli katalog/folder znajduje się w określonej ścieżce systemowej, Python zwraca Prawdziwe, a następnie Fałszywe, jeśli nie znaleziono katalogu/folderu.

Związane z: Uczysz się Pythona? Oto jak skopiować plik

4. Os. Ścieżka. Isdir (ścieżka)

Tak jak os.path.isfile oraz os.ścieżka.istnieje(), os.ścieżka.isdir() jest podfunkcją biblioteki os. Jedyna różnica polega na tym, że to polecenie działa tylko dla katalogów. Zgodnie z oczekiwaniami użycie tej składni zwraca wartość logiczną opartą na istnieniu katalogów.

Na przykład:

importuj system
os.path.isdir (r"C:\Users\Wini Bhalla\Desktop\OS")

Wyjście to Prawdziwe, ponieważ folder/katalog istnieje pod określoną ścieżką.

importuj system
os.path.isdir (r"C:\Users\Wini Bhalla\Desktop\testdirectory")

Wyjście to Fałszywe, ponieważ folder/katalog nie istnieje w określonej ścieżce.

5. Pathlib.path.exists()

Wersje Python 3.4 i nowsze oferują Pathlib moduł, który można zaimportować za pomocą import funkcjonować. Pathlib przechwytuje niezbędne funkcje w jednym miejscu i udostępnia je za pomocą różnych metod do użycia z obiektem ścieżki.

Aby użyć Pathlib:

importuj bibliotekę ścieżek
plik = ścieżka lib. Ścieżka (r"C:\Users\Wini Bhalla\Desktop\Python test file.txt")
jeśli plik.istnieje ():
drukuj ("Plik istnieje")
w przeciwnym razie:
print ("Plik nie istnieje")

Zgodnie z istnieniem pliku dane wyjściowe będą wyświetlać, czy plik istnieje w określonej ścieżce. Idealnie, kod w wydrukować oświadczenie można zmienić, zgodnie z wymaganiami Twojego programu

6. Os.listdir (ścieżka)

ten listdir Metoda w Pythonie zwraca listę wszystkich plików w określonym katalogu, określonym przez użytkownika. Jednak ta metoda nie zwróci żadnych plików znajdujących się w podfolderach.

ten listdir Metoda przyjmuje tylko jeden parametr, ścieżkę do pliku. Najlepiej byłoby, gdyby ścieżka pliku była nazwami plików i folderów, które chcesz odzyskać.

Podstawowa składnia obejmuje:

os.listdir (ścieżka)

W poniższym przykładzie możesz utworzyć pętlę, aby przejść przez wszystkie pliki wymienione w katalogu, a następnie sprawdzić istnienie określonego pliku zadeklarowanego za pomocą Jeśli oświadczenie.

importuj system
ścieżka = r'C:\Użytkownicy\Wini Bhalla\Desktop'
pliki = os.listdir (ścieżka)
druk (pliki)

Ten kod wyświetli listę plików dostępnych w bieżącym katalogu.

importuj system
path = r'C:\Users\Wini Bhalla\Desktop' files = os.listdir (ścieżka)
dla f w plikach:
if f == "test.txt":
print("Plik istnieje")
w przeciwnym razie:
print("Plik nie istnieje")

Dalej, gdy pętla jest uruchomiona, listdir funkcjonować wraz z Jeśli logika instrukcji przejdzie przez listę plików i wydrukuje wyniki, w zależności od warunków przekazanych w ramach wydrukować oświadczenie.

Związane z: Używaj pętli z listami w Pythonie

7. Moduł Glob

ten globu moduł dopasowuje wszystkie ścieżki z określonymi parametrami i zwięźle umożliwia dostęp do systemu plików. Ponieważ glob jest używany do dopasowywania wzorców, możesz go użyć do sprawdzenia statusu pliku.

Istnieją dwa odniesienia do ścieżki:

  • Ścieżka bezwzględna: Użyj tego, gdy chcesz wyszukać plik w innym katalogu.
  • Względna ścieżka dostępu: Użyj tego, gdy chcesz poszukać pliku w bieżącym katalogu.

Jeśli plik zostanie znaleziony, kod zwróci Prawdziwe, inaczej wróci Fałszywe.

Przykład użycia Globa:

importuj świat
if glob.glob (r"C:\Users\Wini Bhalla\Desktop\test.txt"):
drukuj ("Plik istnieje")
w przeciwnym razie:
print("Plik nie istnieje")

Wyjście z tego kodu wyświetli wynik, jeśli plik zostanie znaleziony.

8. Podproces

Polecenie test w module podprocesu jest skutecznym sposobem testowania istnienia plików i katalogów. Polecenia test działają tylko na komputerach z systemem Unix, a nie na komputerach z systemem Windows.

Możesz użyć następujących poleceń zgodnie ze swoimi potrzebami:

  • test -e: Sprawdź istnienie ścieżki
  • test -f: Sprawdź istnienie pliku
  • test-d: Sprawdź istnienie folderu

Weryfikacja ścieżki za pomocą podprocesu:

z uruchomienia importu podprocesu
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'nie-tu-tutaj.txt']).returncode == 0

Ten kod nazywa się funkcją testową, po której następuje '-mi' aby zweryfikować istnienie ścieżki. Funkcja pokazuje Fałszywe dla nieprawidłowej ścieżki.

Weryfikacja pliku za pomocą podprocesu:

run(['test', '-f', 'plik testowy.txt']).returncode == 0
run(['test', '-f', 'testdirectory']).returncode == 0

ten '-F' funkcja testuje istnienie pliku i zwraca Fałszywe dla katalogu.

Weryfikacja katalogu za pomocą podprocesu:

run(['test', '-d', 'testfile.txt']).returncode == 0
run(['test', '-d', 'testdirectory']).returncode == 0

ten '-D' funkcja testuje istnienie katalogu i zwraca Fałszywe dla dowolnego zapytania o plik w poleceniu test.

Którego polecenia użyjesz do zlokalizowania swoich plików?

Python jest stosunkowo łatwym w użyciu językiem i oferuje użytkownikom końcowym wiele opcji. Aby sprawdzić istnienie pliku (ów), możesz użyć dowolnej z procedur wymienionych powyżej.

Jeśli jednak jesteś początkującym, zawsze są sposoby na naukę Pythona. Ponieważ Python jest rozległym językiem, najlepiej poświęcić trochę czasu na zrozumienie różnych niuansów i zakresu poleceń.

UdziałĆwierkaćE-mail
Co robi Python i do czego może być używany?

Python jest niezwykle wszechstronny, a jego aplikacje sięgają od tworzenia stron internetowych po analizę danych.

Czytaj dalej

Powiązane tematy
  • Programowanie
  • Pyton
  • Wskazówki dotyczące kodowania
O autorze
Wini Bhalla (41 opublikowanych artykułów)

Wini jest pisarzem mieszkającym w Delhi, mającym 2-letnie doświadczenie w pisaniu. Podczas pisania była związana z agencjami marketingu cyfrowego i firmami technicznymi. Pisała treści związane z językami programowania, technologią chmury, AWS, Machine Learning i nie tylko. W wolnym czasie lubi malować, spędzać czas z rodziną i w miarę możliwości wyjeżdżać w góry.

Więcej od Wini Bhalla

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować