Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python File I/O: Dateioperationen, Lesen, Schreiben und Verwaltung meistern

Python File I/O

Lernen Sie, wie Sie Dateien in Python mit klaren Beispielen und Best-Practice-Techniken öffnen, lesen, schreiben und schließen.

Video: Dateien in Python lesen und schreiben

Dateien

Dateien sind benannte Speicherorte auf der Festplatte, die Daten persistent speichern. Da RAM flüchtig ist, verlassen wir uns auf Dateien, um Informationen zwischen Programmausführungen zu behalten.

Bei der Interaktion mit einer Datei ist die typische Sequenz: öffnen → lesen/schreiben → schließen.


Dateien in Python öffnen

Pythons eingebaute open()-Funktion gibt ein Dateiobjekt zurück, das Sie für I/O-Operationen verwenden können. Die Funktionssignatur lautet:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Wichtige Punkte:

ModusBeschreibung
rLesen (Standard)
wSchreiben; erstellt neu oder trunciert existente
xExklusive Erstellung; schlägt fehl, wenn Datei existiert
aAnhängen; erstellt, falls fehlend
tTextmodus (Standard)
bBinärmodus
+Lesen und Schreiben
f = open("test.txt")  # r/rt
f = open("test.txt", "w")  # schreiben
f = open("img.bmp", "r+b")  # lesen/schreiben binär

Da a ein Zeichen ist, entspricht es nicht der Zahl 97, es sei denn, es wird encodiert. Setzen Sie explizit encoding='utf-8' für Textdateien.

f = open("test.txt", mode='r', encoding='utf-8')

Dateien in Python schließen

Das ordnungsgemäße Schließen einer Datei gibt Systemressourcen frei. Die close()-Methode ist einfach, aber die Verwendung eines Context Managers ist das sicherste Muster.

with open("test.txt", encoding='utf-8') as f:
    # Dateioperationen durchführen
    pass
try...finally-Block.

try:
    f = open("test.txt", encoding='utf-8')
    # Operationen
finally:
    f.close()

In Dateien schreiben in Python

Verwenden Sie w, a oder x Modus zum Schreiben. w überschreibt bestehenden Inhalt; a bewahrt ihn.

Die write()-Methode akzeptiert einen String (oder Bytes für binär) und gibt die Anzahl der geschriebenen Zeichen zurück.

with open("test.txt", "w", encoding='utf-8') as f:
    f.write("meine erste Datei\n")
    f.write("Diese Datei\n\n")
    f.write("enthält drei Zeilen\n")

Denken Sie daran, Newline-Zeichen einzufügen, um Zeilen zu trennen.


Dateien in Python lesen

Öffnen Sie mit r Modus. Die read()-Methode akzeptiert ein optionales size-Argument; weglassen liest bis EOF.

f = open("test.txt", "r", encoding='utf-8')
print(f.read(4))  # 'Dies'
print(f.read(4))  # ' ist '
print(f.read())   # restlicher Inhalt
f.close()

Bewegen Sie den Cursor mit seek() und fragen Sie seine Position mit tell() ab:

print(f.tell())  # aktuelle Position
f.seek(0)        # zurückspulen
print(f.read())  # alles lesen

Effizient über Zeilen iterieren:

for line in f:
    print(line, end='')

Alternativ bieten readline() und readlines() zeilenweisen Zugriff.


Python Datei-Methoden

Nachfolgend eine kompakte Referenz für die gängigsten Datei-Methoden im Textmodus.

MethodeBeschreibung
close()Datei schließen.
detach()Unterliegenden binären Buffer trennen.
fileno()Dateideskriptor zurückgeben.
flush()Schreibpuffer leeren.
isatty()Prüfen, ob Stream interaktiv ist.
read(n)Bis zu n Zeichen lesen; None liest bis EOF.
readable()Ist der Stream lesbar?
readline(n=-1)Einzelne Zeile lesen, bis zu n Zeichen.
readlines(n=-1)Liste von Zeilen zurückgeben, bis zu n Zeichen.
seek(offset, from_=SEEK_SET)Cursor zu offset von from_ (Start, aktuell, Ende) bewegen.
seekable()Kann der Stream Random Access unterstützen?
tell()Aktuelle Cursor-Position abrufen.
truncate(size=None)Datei auf size Bytes verkleinern.
writable()Ist der Stream schreibbar?
write(s)String s schreiben; gibt Anzahl geschriebener Zeichen zurück.
writelines(lines)Iterable von Strings schreiben.

Python

  1. C Eingabe und Ausgabe (I/O) meistern: scanf() und printf() erklärt
  2. Python-Datentypen meistern: Praxisleitfaden
  3. Python-Operatoren meistern: Umfassender Leitfaden
  4. Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
  5. Python File I/O: Dateioperationen, Lesen, Schreiben und Verwaltung meistern
  6. Datei- und Verzeichnisexistenz in Python prüfen – Ein praktischer Leitfaden
  7. Python JSON: Encoding, Decoding und Datei-Handling – Ein praktischer Leitfaden
  8. Datei-I/O in C meistern: Erstellen, Öffnen & Verwalten von Dateien
  9. C# Datei-E/A: Lesen, Schreiben & Stream-Verwaltung
  10. Python Datei-E/A: Eingabe- und Ausgabeoperationen meistern