So überprüfen Sie, ob eine Datei in Python geöffnet oder geschlossen ist

How Check File Is Opened

Die Datei wird verwendet, um Daten dauerhaft zu speichern. Das Arbeiten mit einer Datei ist eine sehr häufige Aufgabe jeder Programmiersprache. In Python gibt es viele integrierte Funktionen zum Erstellen, Öffnen, Lesen, Schreiben und Schließen der Datei. Zum Speichern von Daten können zwei Arten von Dateien erstellt werden. Dies sind Textdateien und Binärdateien. Jede Datei muss vor dem Lesen oder Schreiben geöffnet werden. Die offen() -Funktion wird in Python verwendet, um eine Datei zu öffnen. Verwendung der offen() Funktion ist eine Möglichkeit zu überprüfen, ob eine bestimmte Datei geöffnet oder geschlossen ist. Wenn die offen() Funktion öffnet eine zuvor geöffnete Datei, dann ein IOFehler erzeugt werden. Eine andere Möglichkeit, um zu überprüfen, ob eine Datei geöffnet oder geschlossen ist, besteht darin, die Werte der zu überprüfen abgeschlossen Eigenschaft des Dateihandlerobjekts. Verwenden von umbenennen() Funktion ist eine weitere Möglichkeit, um zu überprüfen, ob die Datei geöffnet oder geschlossen ist. In diesem Tutorial wurden verschiedene Möglichkeiten gezeigt, um zu überprüfen, ob eine Datei in Python geöffnet oder geschlossen ist.

Erstellen Sie eine Datei zur Überprüfung:

Sie können eine beliebige vorhandene Datei verwenden oder eine neue Datei erstellen, um den in diesem Tutorial gezeigten Beispielcode zu testen. Eine neue Textdatei namens client.txt wurde mit den folgenden Inhalten erstellt, die später im nächsten Teil des Tutorials verwendet werden können.



ID-Name E-Mail
01 Jony Leber [email protected]
02 Manik Hossain [email protected]
03 Neha Akter [email protected]
04 Janatul Ferdous [email protected]
05 Helal Uddin [email protected]



Beispiel-1: Überprüfen Sie, ob die Datei geöffnet ist oder nicht, indem Sie IOError . verwenden

IOFehler generiert, wenn die Funktion open() aufgerufen wird, um eine zuvor geöffnete Datei zu öffnen. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um zu überprüfen, ob eine Datei geöffnet ist oder nicht, indem Sie verwenden versuchen-außer Block. Hier wird ein eventuell vorhandener Dateiname als Eingabe verwendet und zum Lesen geöffnet. Als nächstes wird die Funktion open() erneut aufgerufen, um dieselbe Datei zu öffnen, die einen IOError auslöst und die Fehlermeldung ausgibt.



# Überprüfe den Dateinamen
Dateiname = Eingabe('Beliebigen Dateinamen eingeben: ')
# Öffnen Sie die Datei zum ersten Mal mit der Funktion open()
fileHandler = öffnen(Dateiname,'R')
# Versuchen Sie die gleiche Datei erneut zu öffnen
Versuchen:
mit offen('Dateiname','R') wieDatei:
# Drucken Sie die Erfolgsmeldung
drucken('Datei wurde zum Lesen geöffnet.')
# Fehler auslösen, wenn die Datei zuvor geöffnet wurde
außer IOFehler:
drucken('Datei wurde bereits geöffnet.')

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier, client.txt am aktuellen Standort vorhanden ist und die Fehlermeldung, Datei wurde bereits geöffnet, hat für die gedruckt IOFehler Ausnahme.

Beispiel-2: Überprüfen Sie, ob die Datei geschlossen ist oder nicht, indem Sie die geschlossene Eigenschaft verwenden.

Der Wert der abgeschlossen -Eigenschaft ist wahr, wenn eine Datei geschlossen wird. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um zu überprüfen, ob eine Datei geschlossen ist oder nicht, die am aktuellen Speicherort vorhanden ist. Das vorherige Beispielskript generiert einen Fehler, wenn der vom Benutzer übernommene Dateiname am aktuellen Speicherort nicht vorhanden ist. Dieses Problem hat sich in diesem Beispiel gelöst. Die Sie -Modul wird hier verwendet, um die Existenz des Dateinamens zu überprüfen, der vom Benutzer übernommen wird. Die Funktion check_closed() hat definiert, um zu überprüfen, ob die Datei geschlossen ist oder nicht, die aufgerufen wird, wenn die Datei existiert.



# os-Modul importieren, um die Existenz der Datei zu überprüfen
importieren
# Drfine-Funktion überprüft, ob die Datei geschlossen ist oder nicht
def check_closed():
wennfileHandler.closed == Falsch:
# Drucken Sie die Erfolgsmeldung
drucken('Datei wurde zum Lesen geöffnet.')
anders:
# Drucken Sie die Fehlermeldung
drucken('Datei wurde geschlossen.')

# Überprüfe den Dateinamen
Dateiname = Eingabe('Beliebigen Dateinamen eingeben: ')
# Überprüfen Sie, ob die Datei existiert oder nicht
wennos.path.exists(Dateiname):
# Datei zum Lesen öffnen
fileHandler = öffnen(Dateiname,'R')
# Rufen Sie die Funktion auf
check_closed()
anders:
# Nachricht drucken, wenn die Datei nicht existiert
drucken('Die Datei existiert nicht.')

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier, client.txt am aktuellen Standort vorhanden ist, und die Erfolgsmeldung, Datei wurde zum Lesen geöffnet, wurde gedruckt, weil der Wert der geschlossenen Eigenschaft zurückgegeben wurde Falsch .

Beispiel-3: Überprüfen Sie, ob die Datei geöffnet ist oder nicht, indem Sie OSError verwenden

Die OSFehler generiert, wenn die Funktion rename() mehr als einmal für eine bereits geöffnete Datei aufgerufen wird. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um zu überprüfen, ob eine Datei geöffnet oder geschlossen wird, indem Sie verwenden OSFehler . Das os-Modul wurde im Skript verwendet, um die Existenz der Datei zu überprüfen und die Datei umzubenennen. Wenn das umbenennen() Wenn die Funktion zum zweiten Mal aufgerufen wird, wird OSError generiert und die benutzerdefinierte Fehlermeldung ausgegeben.

# os-Modul importieren, um die Existenz der Datei zu überprüfen
importieren
# Legen Sie den vorhandenen Dateinamen fest
Dateiname ='clients.txt'
# Legen Sie den neuen Dateinamen fest
neuername ='kunden.txt'
# Überprüfen Sie, ob die Datei existiert oder nicht
wennos.path.exists(Dateiname):
Versuchen:
# Rufen Sie die Umbenennungsfunktion zum ersten Mal auf
os.umbenennen(Dateiname, neuer Name)
# Rufen Sie die Umbenennungsfunktion zum zweiten Mal auf
os.umbenennen(Dateiname, neuer Name)
# Fehler auslösen, wenn die Datei geöffnet wurde
außer OSError:
drucken('Datei ist noch geöffnet.')

anders:
# Nachricht drucken, wenn die Datei nicht existiert
drucken('Die Datei existiert nicht.')

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier, client.txt am aktuellen Standort vorhanden ist und die Fehlermeldung, Datei ist noch geöffnet, hat gedruckt, weil die OSFehler Ausnahme wurde generiert, wenn die zweite umbenennen() Funktion ausgeführt wurde.

Abschluss:

Wenn wir in einem Skript mehrmals mit derselben Datei arbeiten müssen, ist es wichtig zu wissen, ob die Datei geöffnet oder geschlossen ist. Es ist besser, die Funktion close() aufzurufen, um die Datei nach Abschluss der Dateioperation zu schließen. Der Fehler tritt auf, wenn eine Datei zum zweiten Mal im selben Skript geöffnet wird, ohne sie zu schließen. In diesem Tutorial wurden verschiedene Lösungen für dieses Problem anhand einfacher Beispiele gezeigt, um den Python-Benutzern zu helfen.