DateienDie Datei ist ein Datensatz in einem externen Speicher mit einem Namen. Es gibt zwei Arten von Dateien in Python: ♪ Textdie einen in einer Zeile gebrochenen Text enthält; nur Symbole einer neuen Zeile können aus speziellen Symbolen in Textdateien sein. \n "und zurück zum Anfang der Linie \r ", ♪ bindendwenn alle dualen Daten ohne Einschränkungen gespeichert werden (z.B. Zeichnungen, Geräusche, Videos usw.). Wir schauen uns die Arbeit mit den Textdateien an.
Programmdatei ArbeitsprinzipDrei Phasen: ANHANG Öffnen der Datei; 2. Arbeiten Sie mit der Datei; 3. Schluss mit der Datei. Dieses Arbeitsprinzip wird als "Principle Sandwich."♪ Wenn die Datei geöffnet wird, muss der Betriebsmodus am Ende der Datei gelesen, aufgezeichnet oder hinzugefügt werden. Die öffentliche Akte ist blockiert und andere Programme können nicht aufgerufen werden. Nach der Arbeit mit der Datei muss es geschlossen werden, um den Link zum Programm zu brechen. Wenn die Datei geschlossen ist, werden alle Änderungen durch das Programm in dieser Datei auf der CD aufgezeichnet. In Python werden Dateien durch Dateivariablen bearbeitet. Funktion open() Genehmigung Öffnen Sie die Datei. und gibt die Dateivariable zurück, die auf die Datei zugreifen kann. f = open(file_name, access_mode) ♪ Wo: ♪ file_name - den Namen der offenen Datei. ♪ access_mode - Dateiöffnungsregime. Er könnte sein, zum Lesen, Aufnehmen, etc. Der Lesemodus (r) ist standardmäßig, sofern nichts anderes bestimmt ist. Vollständige Liste der EröffnungsregimeRegime | Warenbezeichnung |
---|
r | Nur zum Lesen. | w | Nur für den Rekord. Erstellen Sie eine neue Datei, wenn er den Namen nicht findet. | rb | Nur zum Lesen. | wb | Nur für den Rekord. Erstellen Sie eine neue Datei, wenn er den Namen nicht findet. | r+ | Zum Lesen und Aufnehmen. | rb+ | Zum Lesen und Aufzeichnen (binär). | w+ | Zum Lesen und Aufnehmen. Erstelle einen neuen Datensatz, wenn er den Namen nicht findet. | wb+ | Zum Lesen und Aufzeichnen (binär). Erstelle einen neuen Datensatz, wenn er den Namen nicht findet. | a | Es öffnet sich für einen neuen Inhalt. Erstelle einen neuen Datensatz, wenn er den Namen nicht findet. | a+ | Es öffnet sich für einen neuen Inhalt. Erstellen Sie eine neue Datei, um den Datensatz zu lesen, wenn er den Namen nicht findet. | ab | Öffnen Sie, um einen neuen Inhalt hinzuzufügen (binär). Erstelle einen neuen Datensatz, wenn er den Namen nicht findet. | ab+ | Öffnen Sie, um einen neuen Inhalt hinzuzufügen (binär). Erstellen Sie eine neue Datei, um den Datensatz zu lesen, wenn er den Namen nicht findet. |
Methode close() Genehmigung Schließen Sie die Datei.♪
Beispiel
Fin = open("input.txt)
Fout = open('output.txt)
# Tun Sie etwas mit den Dateien
Fout.close()
Fin.close()
Wenn die vorhandene Datei auf dem Datensatz öffnet, werden deren Inhalte zerstört. Nach Abschluss des Programms werden alle offenen Dateien automatisch geschlossen.
|
Daten aus der Datei lesenBeim Lesen der Textdatei gibt der Stream der Bajote den Programmeingang eins nach dem anderen ein, so dass die Datei einen konsistenten Zugriff auf die Daten gewährleistet. Ich meine, wenn wir den 10. in der Datei lesen müssen, müssen wir zuerst die vorherigen 9 lesen. Durch das Lesen einer Zeile der Datei kann die Methode verfolgt werden readline() ♪ Dieses Verfahren ist für eine Dateivariable verfügbar.
Fin = open("input.txt)
s = Fin.readline() Auf die betrachtete Linie können unterschiedliche Methoden angewendet werden, ähnlich wie bei der Datenverarbeitung (c) split() ♪ map() usw.). Wenn beispielsweise zwei Zahlen in der Dateizeile durch die Lücke vorliegen, können sie wie folgt betrachtet werden:
Fin = open("input.txt)
s = Fin.readline().split() # die Linie auf die Lücken s = [2007, 2021]
a, b = map(int, s) # für alle Elemente der Liste s angewandte Methode int(s),
# So verwandeln wir die Symbolzeile in eine
# a, b = int(s[0], s[1] # ist die gleiche wie die Zeile oben
# a, b = [int(x) für x in s] # Gleich wie der Generator Methode read() zählt alle Inhalte aus der Datei und gibt die Zeile zurück, die Symbole enthalten kann. \n '. Wenn Methode read() Um den vollständigen Parameter zu vermitteln, gibt es nicht mehr als eine bestimmte Anzahl von Symbolen. Beispielsweise ist es möglich, die Datei mittels eines Verfahrens zu lesen. read(1) ♪ Wenn die Datei geöffnet wird, wird der Index, der den aktuellen Speicherort in der Datei bestimmt, am Anfang der Datei platziert und beim Lesen in die Position nach dem Lesen bewegt. Der Index wird auf die folgende freie Position übertragen.
|
Dateneintrag in die DateiDie Dateneingabemethode wird verwendet write() ♪ Die Anzahl der Daten sollte in eine Zeile umgewandelt werden. Dies kann entweder durch format() oder str() ♪ Multidisziplinäre DateienBeim Umgang mit mehreren Dateien muss man wissen, wann die Daten in der Datei vorbei sind. Dazu können Arbeitsmethoden verwendet werden readline() : Wenn der Dateischreiber das Ende der Datei angibt, wird die Methode readline() gibt eine leere Zeile zurück, die als falsche logische Bedeutung wahrgenommen wird:
während True:
s = Fin.readline()
wenn nicht s: Pause # wenn die Zeile leer gelesen wird,
# Der Zyklus endet mit der Bedienerpause
print(s, end=") # Drehen auf eine neue Zeile, denn wenn wir die Zeile aus der Datei lesen
# Das Symbol einer neuen Linie "n" erhalten Andere Methoden des Lesens von Daten aus mehreren DateienANHANG Alle Daten auf der Liste.
Fin = open("input.txt)
list_strings = Fin.readlines() Sie dachten alle Linien
Fin.close()
für s in list_strings:
Print(s, end=") 2. Design with-as ♪ In diesem Fall schließt die Datei automatisch nach dem Ende des Zyklus.
mit open("input.txt") als Fin:
für s in Fin:
Print(s, end=") Dieses Design sorgt dafür, dass die Datei geschlossen ist. 3. Methode der Umwandlung von Python-Linien (ergänzend zur Verwendung dieser Methode). In diesem Fall schließt die Datei auch automatisch.
für s in open("input.txt):
Print(s, end=")
|
Cyril-DateiWenn in der Datei russische Buchstaben vorhanden sind (ein Symbol mit einem Code größer 127), muss der Code beim Öffnen angezeigt werden
Daten = open("input.txt, "r, encoding="utf-8)
|