logo

Lesen und Schreiben in Textdateien in Python

Python bietet integrierte Funktionen zum Erstellen, Schreiben und Lesen von Dateien. In Python können zwei Arten von Dateien verarbeitet werden: normale Textdateien und Binärdateien (geschrieben in binärer Sprache, 0 und 1).

  • Textdateien: In diesem Dateityp wird jede Textzeile mit einem Sonderzeichen namens EOL (End of Line) abgeschlossen, das in Python standardmäßig das neue Zeilenzeichen („ “) ist.
  • Binärdateien: Bei diesem Dateityp gibt es kein Zeilenende und die Daten werden nach der Konvertierung in eine maschinenverständliche Binärsprache gespeichert.

Dieser Artikel konzentriert sich auf das Öffnen, Schließen, Lesen und Schreiben von Daten in einer Textdatei. Hier werden wir auch sehen, wie wir dorthin gelangen Python Ausgabe in Textdatei.



Dateizugriffsmodi

Zugriffsmodi steuern die Art der in der geöffneten Datei möglichen Vorgänge. Es bezieht sich darauf, wie die Datei nach dem Öffnen verwendet wird. Diese Modi definieren auch den Standort des Dateihandle in der Datei. Das Dateihandle ist wie ein Cursor, der definiert, von wo aus die Daten in der Datei gelesen oder geschrieben werden müssen, und wir können eine Python-Ausgabe in einer Textdatei erhalten.

Es gibt 6 Zugriffsmodi in Python:

  • Schreibgeschützt („r“)
  • Lesen und Schreiben („r+“)
  • Nur schreiben („w“)
  • Schreiben und Lesen („w+“)
  • Nur anhängen („a“)
  • Anhängen und Lesen („a+“)

Schreibgeschützt („r“): Textdatei zum Lesen öffnen. Der Griff wird am Anfang der Datei positioniert. Wenn die Datei nicht vorhanden ist, wird ein E/A-Fehler ausgelöst. Dies ist auch der Standardmodus, in dem eine Datei geöffnet wird.



Lesen und Schreiben („r+“): Öffnen Sie die Datei zum Lesen und Schreiben. Der Griff wird am Anfang der Datei positioniert. Löst einen E/A-Fehler aus, wenn die Datei nicht vorhanden ist.

Nur schreiben (‘w’): Öffnen Sie die Datei zum Schreiben. Für die vorhandenen Dateien werden die Daten abgeschnitten und überschrieben. Der Griff wird am Anfang der Datei positioniert. Erstellt die Datei, wenn die Datei nicht vorhanden ist.

Schreiben und Lesen („w+“) : Öffnen Sie die Datei zum Lesen und Schreiben. Bei einer vorhandenen Datei werden die Daten abgeschnitten und überschrieben. Der Griff wird am Anfang der Datei positioniert.



Nur anhängen („a“) : Öffnen Sie die Datei zum Schreiben. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Der Griff befindet sich am Ende der Feile. Die zu schreibenden Daten werden am Ende nach den vorhandenen Daten eingefügt.

Anhängen und lesen („a+“): Öffnen Sie die Datei zum Lesen und Schreiben. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Der Griff befindet sich am Ende der Feile. Die zu schreibenden Daten werden am Ende nach den vorhandenen Daten eingefügt.

Wie werden Dateien in den Primärspeicher geladen?

Es gibt zwei Arten von Speicher in einem Computer, d. h. den primären und den sekundären Speicher. Jede Datei, die Sie oder irgendjemand gespeichert hat, befindet sich im sekundären Speicher, da alle Daten im primären Speicher gelöscht werden, wenn der Computer ausgeschaltet wird. Wenn Sie also eine Textdatei ändern oder einfach nur in Python damit arbeiten möchten, müssen Sie diese Datei in den Primärspeicher laden. Python interagiert mit Dateien, die in den Primärspeicher oder den Hauptspeicher geladen werden Dateihandler (Auf diese Weise gewährt Ihr Betriebssystem Python Zugriff auf die von Ihnen geöffnete Datei, indem es die Datei in ihrem Speicher durchsucht. Wenn sie gefunden wird, gibt sie einen Dateihandler zurück und Sie können dann mit der Datei arbeiten.)

Öffnen einer Textdatei in Python

Dies geschieht mit der Funktion open(). Für diese Funktion muss kein Modul importiert werden.

File_object = open(r'File_Name','Access_Mode')>

Die Datei sollte im selben Verzeichnis wie die Python-Programmdatei vorhanden sein, andernfalls sollte die vollständige Adresse der Datei anstelle des Dateinamens geschrieben werden. Beachten Sie das R wird vor dem Dateinamen platziert, um zu verhindern, dass die Zeichen in der Dateinamenzeichenfolge als Sonderzeichen behandelt werden. Wenn beispielsweise emp in der Dateiadresse enthalten ist, wird als Tabulatorzeichen behandelt und ein Fehler wegen ungültiger Adresse wird ausgegeben. Das r macht die Zeichenfolge unformatiert, das heißt, es teilt mit, dass die Zeichenfolge keine Sonderzeichen enthält. Das r kann ignoriert werden, wenn sich die Datei im selben Verzeichnis befindet und die Adresse nicht platziert wird.

Python




Wie groß ist mein Monitorbildschirm?

# Open function to open the file 'MyFile1.txt'> # (same directory) in append mode and> file1>=> open>(>'MyFile1.txt'>,>'a'>)> # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r>'D:TextMyFile2.txt'>,>'w+'>)>

>

>

Hier wird Datei1 als Objekt für MyFile1 und Datei2 als Objekt für MyFile2 erstellt

Schließen einer Textdatei in Python

Die Funktion close() schließt die Datei und gibt den von dieser Datei belegten Speicherplatz frei. Es wird verwendet, wenn die Datei nicht mehr benötigt wird oder wenn sie in einem anderen Dateimodus geöffnet werden soll. File_object.close()

Python




# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>(>'MyFile.txt'>,>'a'>)> file1.close()>

>

Fettschrift in CSS

>

Schreiben in eine Datei in Python

Es gibt zwei Möglichkeiten, in eine Datei zu schreiben:

  • Verwendung von write()
  • Verwendung von writelines()

Mit write() in eine Python-Textdatei schreiben

schreiben() : Fügt die Zeichenfolge str1 in einer einzelnen Zeile in die Textdatei ein.

File_object.write(str1)>

Mit writelines() in eine Textdatei schreiben

writelines() : Bei einer Liste von Zeichenfolgenelementen wird jede Zeichenfolge in die Textdatei eingefügt. Wird zum gleichzeitigen Einfügen mehrerer Zeichenfolgen verwendet.

File_object.writelines(L) for L = [str1, str2, str3]>

Referenz: write() VS writelines()

Aus einer Datei in Python lesen

Es gibt drei Möglichkeiten, Daten aus einer Textdatei zu lesen:

  • Verwendung von read()
  • Verwendung von readline()
  • Benutzen readlines()

Aus einer Datei lesen mit read()

lesen() : Gibt die gelesenen Bytes in Form eines Strings zurück. Liest n Bytes. Wenn kein n angegeben ist, wird die gesamte Datei gelesen.

File_object.read([n])>

Lesen einer Textdatei mit readline()

Zeile lesen() : Liest eine Zeile der Datei und gibt sie in Form einer Zeichenfolge zurück. Für angegebene n werden höchstens n Bytes gelesen. Liest jedoch nicht mehr als eine Zeile, auch wenn n die Länge der Zeile überschreitet.

File_object.readline([n])>

Eine Datei mit readlines() lesen

readlines() : Liest alle Zeilen und gibt sie als jede Zeile als Zeichenfolgenelement in einer Liste zurück.

 File_object.readlines()>

Notiz: „ “ wird als Sonderzeichen von zwei Bytes behandelt.

In diesem Beispiel wird eine Datei mit dem Namen myfile.txt erstellt und im Schreibmodus geöffnet ('w'>). Daten werden mit in die Datei geschriebenwrite>Undwritelines>Methoden. Die Datei wird dann im Lese- und Anhängemodus erneut geöffnet ('r+'>). Verschiedene Lesevorgänge, darunterread>,readline>,readlines>, und die Verwendung vonseek>demonstrieren verschiedene Möglichkeiten zum Abrufen von Daten aus der Datei. Abschließend wird die Datei geschlossen.

Python3


Java-Liste leer



# Program to show various ways to read and> # write data in a file.> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> # is placed to indicate EOL (End of Line)> file1.write(>'Hello '>)> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>(>'myfile.txt'>,>'r+'>)> print>(>'Output of Read function is '>)> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>(>'Output of Readline function is '>)> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>(>'Output of Read(9) function is '>)> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>(>'Output of Readline(9) function is '>)> print>(file1.readline(>9>))> file1.seek(>0>)> # readlines function> print>(>'Output of Readlines function is '>)> print>(file1.readlines())> print>()> file1.close()>

>

>

Ausgabe:

Output of Read function is  Hello  This is Delhi  This is Paris  This is London  Output of Readline function is  Hello  Output of Read(9) function is  Hello  Th Output of Readline(9) function is  Hello  Output of Readlines function is  ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
']>

Anhängen an eine Datei in Python

In diesem Beispiel wird eine Datei mit dem Namen myfile.txt zunächst im Schreibmodus geöffnet ('w'>), um Textzeilen zu schreiben. Die Datei wird dann im Anhängemodus erneut geöffnet ('a'>) und „Heute“ wird zum vorhandenen Inhalt hinzugefügt. Die Ausgabe nach dem Anhängen wird mit angezeigtreadlines>. Anschließend wird die Datei im Schreibmodus erneut geöffnet und der Inhalt mit Tomorrow überschrieben. Die endgültige Ausgabe nach dem Schreiben wird mit angezeigtreadlines>.

Python3




# Python program to illustrate> # Append vs write mode> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)>#append mode> file1.write(>'Today '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.readlines())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)>#write mode> file1.write(>'Tomorrow '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.readlines())> print>()> file1.close()>

>

>

Ausgabe:

Output of Readlines after appending ['This is Delhi 
', 'This is Paris 
', 'This is London 
', 'Today 
'] Output of Readlines after writing ['Tomorrow 
']>

Verwandter Artikel:

  • Dateiobjekte in Python