So verwenden sie „with“ in python zum öffnen von dateien (einschließlich beispiele)
Sie können die folgende Syntax verwenden, um eine Datei in Python zu öffnen, etwas damit zu tun und die Datei dann zu schließen:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
Das Problem bei diesem Ansatz besteht darin, dass man sehr leicht vergisst, die Datei zu schließen.
Ein besserer Ansatz ist die Verwendung mit open , das die folgende grundlegende Syntax verwendet:
with open (' my_data.csv ') as file: df = file. read () print (df)
Bei diesem Ansatz wird die Datei, mit der Sie arbeiten, automatisch geschlossen, sodass Sie nicht daran denken müssen , file.close() zu verwenden.
Die folgenden Beispiele zeigen die Verwendung von open in verschiedenen Szenarien.
Beispiel 1: Verwenden Sie die With-Anweisung, um die Datei zu lesen
Der folgende Code zeigt, wie Sie mit der „with“-Anweisung eine Datei in Python lesen und den Inhalt der Datei drucken:
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
Der Inhalt der Datei wird gedruckt und die Datei wird automatisch geschlossen, ohne dass wir file.close() eingeben müssen.
Beispiel 2: Verwenden Sie die With-Anweisung, um eine Datei zu schreiben
Der folgende Code zeigt, wie Sie mit der „with“-Anweisung Text in eine Datei schreiben:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
Beachten Sie, dass das „ w “ in der open() -Anweisung Python anweist, für die Datei den „Schreibmodus“ anstelle des Lesemodus zu verwenden.
Beispiel 3: Verwenden Sie die With-Anweisung zum Lesen und Schreiben von Dateien
Wir können auch mehrere Dateien gleichzeitig in einer einzigen „with“-Anweisung öffnen.
Der folgende Code zeigt, wie Sie mit der „with“-Anweisung zwei Dateien öffnen, den Inhalt einer Datei lesen und dann den Inhalt der ersten Datei in die zweite Datei schreiben:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
Wenn wir zu dem Speicherort navigieren, an dem wir „data_out.csv“ geschrieben haben, können wir den Inhalt der Datei anzeigen:
Beachten Sie, dass wir mit der Funktion open() in einer einzigen „with“-Anweisung beliebig viele Dateien öffnen können.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Python ausführen:
So lesen Sie CSV-Dateien mit Pandas
So lesen Sie Excel-Dateien mit Pandas
So lesen Sie Textdateien mit Pandas