Python mit Keyword

Python mit Keyword

„In Python wird das With -Keyword verwendet, um den Code klarer und verständlicher zu machen. Es erleichtert gemeinsame Ressourcen, wie z. B. Dateiströme zu verarbeiten. Das "mit" Schlüsselwort in Python ersetzt eine einfache Abkürzung für einen Versuchs-Catch-Block. Es stellt auch sicher, dass die Ressourcen unmittelbar nach der Verarbeitung geschlossen werden. Ein beliebter Fall der Verwendung des Schlüsselworts „mit“ ist das Lesen/Schreiben in eine Datei. Ein Kontextmanager ist eine Methode oder Klasse, die den Benutzern mit Schlüsselwörtern unterstützt. Ein Kontextmanager ermöglicht es Ihnen, die Ressourcen bei Bedarf zu öffnen und zu schließen. Überlegen Sie, wo die Verwendung des With -Keywords den Code in den folgenden Beispielen beseitigt.”

Beispiel 1: Dateibehandlung ohne das Schlüsselwort "mit"

Erstens haben wir die beiden Beispiele für die Handhabung der Datei ohne die gezeigt
"Mit" Schlüsselwort ". Hier können wir einfach die Datei my_file im Schreibmodus „W“ öffnen.”Mit der Schreibmethode; Wir haben den Text in die Datei eingefügt. Die Datei wird geschlossen, indem die Schließmethode aufgerufen wird.

Sie können herausfinden, dass der Text in der my_file integriert ist.

Es gibt ein zweites Beispiel für die Behandlung der Datei mit dem Try-Catch-Block.

Das obige Skript hat die folgende Ausgabe.

Beispiel 2: Dateibehandlung mit dem Schlüsselwort "mit"

Verwenden Sie nun im folgenden Beispiel SNAP das Schlüsselwort "mit" für die Dateibehandlung.

Es müssen keine Dateien von den ersten beiden Implementierungen abheben. Wenn Sie das Schlüsselwort „mit“ verwenden, wird Close () aufgerufen. Die Erklärung „mit“ stellt sicher, dass die Ressourcen ordnungsgemäß erhalten und freigegeben werden. Während der Datei gibt es eine Ausnahme. Die Funktion write () im ersten Ansatz kann die Datei daran hindern, ordnungsgemäß zu schalten, was zu verschiedenen Fehlern im Code führt, da viele Änderungen an Dateien nicht ordnungsgemäß funktionieren, wenn die Datei ordnungsgemäß geschlossen ist. Auf diese Weise können wir mit dem With -Keyword in die Datei schreiben. Der Dateitext ist in der my_file angezeigt.

Die zweite Lösung im vorhergehenden Beispiel übernimmt alle Ausnahmen, aber die Verwendung des Schlüsselworts „mit“ macht den Code viel prägnanter und klarer. Infolgedessen hilft die With -Erklärung bei der Vermeidung von Problemen und entkommt, indem er bestätigt, dass ein Objekt korrekt aufgegeben wird. Das With-Keyword wird üblicherweise zusammen mit den oben gezeigten Dateiströmen sowie Schlösser, Sockeln, Unterprozesse, Telnet und anderen Verbindungen verwendet.

Beispiel 3: Benutzerdefinierte Dateibehandlung mit dem Schlüsselwort „mit“

Open () hat nichts Ungewöhnliches, was es für die Verwendung mit dem Schlüsselwort „mit“ geeignet ist, da die gleiche Funktion in benutzerdefinierten Objekten gefunden werden kann. Durch die Verwendung eines Keywords "mit" in Ihren Objekten werden Sie niemals eine Ressource offen lassen. Die Prozeduren __enter __ () und __exit __ () in den Objektvorgängen sind alles, was für die Verwendung des Schlüsselworts "mit" in benutzerdefinierten Objekten erforderlich ist. Schauen Sie sich den Code darunter, um weitere Informationen zu erhalten.

Schauen wir uns den oben genannten Code an. Das Funktionsobjekt () des MessageWriter ist unmittelbar nach dem Schlüsselwort „mit“, wie Sie sehen können. Python erstellt ein MessageWriter -Objekt und führt dann die Methode __enter __ () aus. Geben Sie in dieser Methode __enter __ () die Ressource an, die im Objekt verwendet werden soll. Der Deskriptor der erhaltenen Ressource sollte immer von dieser Methode __enter __ () zurückgegeben werden.

Der Text ist in der my_file3 gespeichert.txt hier durch das Python "mit" Keyword "mit".

Beispiel 4: Verwenden Sie das ContextLib -Paket für die Dateibehandlung mit dem Schlüsselwort "mit"

Das Betriebssystem bietet diese Griffe für den Zugriff auf die erforderlichen Ressourcen. Hier wird der Deskriptor der Dateistromressource im nachfolgenden Codeblock eingereicht.

Die __enter __ () -Technik generiert und gibt einen Dateideskriptor im oben erwähnten MessageWriter -Beispiel zurück und gibt es zurück. Die Methode Entert () wird von einem Dateideskriptor zurückgegeben, der in diesem Beispiel als Datei bezeichnet wird. In der Anweisung „With“ befindet sich der Codeabschnitt, der die erworbene Ressource verwendet. Das __Exit __ () -Verfahren wird berücksichtigt, wenn das Programm innerhalb des „With“ -Körpers ausgeführt wurde. In der __Exit __ () -Methode werden alle gesammelten Ressourcen aufgegeben. Mit benutzerdefinierten Objekten verwenden wir das Schlüsselwort "mit" auf diese Weise.

Kontextmanager:

Context Manager bezieht sich auf die Schnittstelle des __enter __ () und __exit __ () -Operationen, die das Schlüsselwort „mit“ in benutzerdefinierten Objekten ermöglichen.

Der oben genannte klassenbasierte Kontext-Manager ist nicht der einzige Ansatz, um das Schlüsselwort „mit“ in benutzerdefinierten Objekten zu aktivieren. Das Kontextlib -Modul erweitert die grundlegende Schnittstelle von Context Manager mit einigen zusätzlichen Abstraktionen. Mit dem Kontextlib -Modul kann der Objektmeldungswriter vom Context Manager aktualisiert werden.

Die Funktion Open File () ist eine Generatormethode in dieser Code -Probe aufgrund der allgemeinen Ertragserklärung in ihrer Definition.

Wenn die Funktion open file () verwendet wird, wird eine Eigenschaftsdatei erstellt. Dem Anrufer wird dann dieser Ressourcenbekriptor zugewiesen, der oben durch die Variable meiner Datei dargestellt wird. Die Programmsteuerung kehrt zur Methode Open File () zurück, nachdem das Programm innerhalb des Abschnitts ausgeführt wurde. Die Methode Open File () setzt ihre Ausführung nach der Ertragsanweisung fort und führt den folgenden Code aus. Dieser Codeabschnitt erfolgt kurz nach der Ertragserklärung und freisetzt die Ressourcen, die erworben wurden. @ContextManager ist in diesem Fall Dekorateurin.

Intern sind die alte klassenbasierte Version von Kontextmanagern und die neue Generator-basierte Implementierung identisch. Während letztere lesbarer zu sein scheint, erfordert es ein Verständnis von Generatoren, Dekoratoren und Ertrag.

Mit Hilfe des ContextLib haben wir den Datensatz erfolgreich in der MY_FILE4 gespeichert.TXT mit dem Schlüsselwort "mit" wie folgt:

Abschluss

Ab sofort haben wir gesehen, wie die Aussage „mit“ Ausnahmen intelligent umgeht. Das Schlüsselwort „mit“ unterstützt auch den Kontextmanager effektiv, der möglicherweise während der Programmierung offen gelassen wurde. Das With-Schlüsselwort ist ein Ersatz für die häufig verwendeten Versuche/schließlich Fehlerbehandlungsanweisungen. Wir haben einige Instanzen der Verwendung des Schlüsselworts "mit" für die Dateibehandlung gezeigt.