Jak sprawdzić, czy plik jest otwarty lub zamknięty w Python

Jak sprawdzić, czy plik jest otwarty lub zamknięty w Python
Plik służy do przechowywania danych na stałe. Praca z plikiem jest bardzo powszechnym zadaniem każdego języka programowania. W Python istnieje wiele wbudowanych funkcji, aby tworzyć, otwierać, czytać, zapisywać i zamykać plik. Dwa typy plików można utworzyć do przechowywania danych. To są pliki tekstowe i pliki binarne. Każdy plik jest wymagany do otwarcia przed przeczytaniem lub zapisaniem. otwarty() Funkcja jest używana w Pythonie do otwarcia pliku. Używając otwarty() Funkcja to jeden ze sposobów sprawdzenia, czy konkretny plik jest otwarty lub zamknięty. Jeśli otwarty() funkcja otwiera wcześniej otwarty plik, a następnie Ioerror zostanie wygenerowane. Innym sposobem sprawdzenia pliku jest otwarty lub zamknięty, jest sprawdzenie wartości Zamknięte właściwość obiektu obsługi pliku. Za pomocą Przemianować() Funkcja to kolejny sposób sprawdzenia, czy plik jest otwarta lub zamknięta. Różne sposoby sprawdzania dowolnego pliku są otwarte lub zamknięte w Pythonie, zostały pokazane w tym samouczku.

Utwórz plik do sprawdzania:

Możesz użyć dowolnego istniejącego pliku lub utworzyć nowy plik, aby przetestować przykładowy kod pokazany w tym samouczku. Nowy plik tekstowy o nazwie klienci.tekst został utworzony z następującą zawartością, aby użyć później w następnej części samouczka.

ID Nazwa e -mail
01 Jony Tiver [email protected]
02 Manik Hossain [email protected]
03 Neha Akter [email protected]
04 Janatul Ferdous [email protected]
05 HELAL UDDIN [email protected]

Przykład-1: Sprawdź, czy plik jest otwarty lub nie za pomocą IoEerror

Ioerror generuje, gdy funkcja Open () jest wywoływana, aby otworzyć plik, który został otwarty wcześniej. Utwórz plik Python z następującym skryptem, aby sprawdzić, czy plik jest otwarty lub nie przy użyciu próba z wyjątkiem blok. Tutaj każda istniejąca nazwa pliku zostanie uznana za dane wejściowe i otwarte do odczytu. Następnie funkcja Open () jest wywoływana ponownie, aby otworzyć ten sam plik, który podniesie ioEerror i wydrukuje komunikat o błędzie.

# Weź nazwę pliku, aby sprawdzić
filename = input („Wprowadź dowolną istniejącą nazwę pliku: \ n”)
# Otwórz plik po raz pierwszy za pomocą funkcji Open ()
FileHandler = Open (nazwa pliku, „r”)
# Spróbuj ponownie otworzyć ten sam plik
próbować:
z otwartym („nazwa pliku”, „r”) jako plik:
# Wydrukuj wiadomość sukcesu
Drukuj („Plik otworzył się do odczytania.")
# Podnieś błąd, jeśli plik jest otwarty wcześniej
Z wyjątkiem IoEerror:
drukuj („plik już się otworzył.")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj, klienci.tekst istnieje w bieżącej lokalizacji i komunikat o błędzie, „Plik już się otworzył” wydrukował dla Ioerror wyjątek.

Przykład-2: Sprawdź, czy plik jest zamknięty lub nie przy użyciu właściwości zamkniętej.

Wartość Zamknięte Właściwość będzie prawdą, jeśli jakikolwiek plik zostanie zamknięty. Utwórz plik Pythona z następującym skryptem, aby sprawdzić, czy plik jest zamknięty lub nie, który istnieje w bieżącej lokalizacji. Poprzedni przykład skrypt wygeneruje błąd, jeśli nazwa pliku pobrana od użytkownika nie istnieje w bieżącej lokalizacji. Ten problem rozwiązał w tym przykładzie. OS Moduł jest tutaj używany do sprawdzenia istnienia nazwy pliku, które zostanie pobrane od użytkownika. Funkcja Check_Closed () zdefiniowała, aby sprawdzić, czy plik jest zamknięty lub nie, że zostanie wywołane, jeśli plik istnieje.

# Zaimportuj moduł OS, aby sprawdzić istnienie pliku
Import OS
# Funkcja drfine Sprawdź, czy plik jest zamknięty lub nie
def check_closed ():
Jeśli FileHandler.zamknięte == Fałsz:
# Wydrukuj wiadomość sukcesu
Drukuj („Plik otworzył się do odczytania.")
w przeciwnym razie:
# Wydrukuj komunikat o błędzie
Drukuj („plik został zamknięty.")
# Weź nazwę pliku, aby sprawdzić
filename = input („Wprowadź dowolną istniejącą nazwę pliku: \ n”)
# Sprawdź plik istnieje lub nie
Jeśli OS.ścieżka.istnieje (nazwa pliku):
# Otwórz plik do odczytu
FileHandler = Open (nazwa pliku, „r”)
# Wywołaj funkcję
Check_Closed ()
w przeciwnym razie:
# Wydrukuj wiadomość, jeśli plik nie istnieje
drukuj („plik nie istnieje.")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj, klienci.tekst istnieje w bieżącej lokalizacji i przesłaniu sukcesu, „Plik otworzył się do czytania” wydrukował, ponieważ zwróciła wartość zamkniętej właściwości FAŁSZ.

Przykład-3: Sprawdź plik jest otwarty lub nie za pomocą Oserror

Oserror generuje, gdy funkcja rene () jest wywoływana więcej niż jeden raz na plik, który jest już otwarty. Utwórz plik Python z następującym skryptem, aby sprawdzić, czy plik jest otwarty lub zamknięty za pomocą za pomocą Oserror. Moduł OS został użyty w skrypcie do sprawdzenia istnienia pliku i zmiany nazwy pliku. Kiedy Przemianować() Funkcja jest wywoływana po raz drugi, Oserror zostanie wygenerowany, a niestandardowy komunikat o błędzie zostanie wydrukowany.

# Zaimportuj moduł OS, aby sprawdzić istnienie pliku
Import OS
# Ustaw istniejącą nazwę pliku
FileName = 'Klienci.tekst'
# Ustaw nową nazwę pliku
newName = 'klienci.tekst'
# Sprawdź plik istnieje lub nie
Jeśli OS.ścieżka.istnieje (nazwa pliku):
próbować:
# Wywołaj funkcję Zmień nazwę po raz pierwszy
OS.Zmień nazwę (nazwa pliku, nowa nazwa)
# Wywołaj funkcję Zmień nazwę po raz drugi
OS.Zmień nazwę (nazwa pliku, nowa nazwa)
# Podnieś błąd, jeśli plik się otworzy
Z wyjątkiem Oserror:
Drukuj („plik jest nadal otwarty.")
w przeciwnym razie:
# Wydrukuj wiadomość, jeśli plik nie istnieje
drukuj („plik nie istnieje.")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj, klienci.tekst istnieje w bieżącej lokalizacji i komunikat o błędzie, „Plik jest nadal otwarty” wydrukował, ponieważ Oserror Wyjątek wygenerował, gdy drugi Przemianować() Funkcja została wykonana.

Wniosek:

Kiedy musimy wiele razy pracować z tym samym plikiem w skrypcie, należy wiedzieć, czy plik jest otwarty, czy zamknięty. Lepiej jest wywołać funkcję Close (), aby zamknąć plik po wypełnieniu operacji pliku. Błąd występuje, gdy plik jest otwarty po raz drugi w tym samym skrypcie bez zamykania. W tym samouczku pokazano różne rozwiązania tego problemu, używając prostych przykładów, aby pomóc użytkownikom Python.