Python bietet integrierte Funktionen zum Erstellen, Schreiben und Lesen von Dateien. Es gibt zwei Arten von Dateien, die in Python verarbeitet werden können: normale Textdateien und Binärdateien (in Binärsprache geschrieben, 0 und 1).
- Textdateien: Bei 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 Abschlusszeichen für eine Zeile und die Daten werden nach der Konvertierung in eine maschinenverständliche Binärsprache gespeichert.
Notiz: Erfahren Sie mehr über die Dateiverwaltung klicken Sie hier .
Zugriffsmodus
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 Speicherort des Dateihandles 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. Verschiedene Zugriffsmodi zum Lesen einer Datei sind:
- 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 Dateien geöffnet werden. 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. 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.
Notiz: Weitere Informationen zum Zugriffsmodus klicken Sie hier .
Eine Datei öffnen
Dies geschieht mit der Funktion open(). Für diese Funktion muss kein Modul importiert werden.
Syntax:
was xd bedeutet
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 an die Stelle des Dateinamens geschrieben werden. Notiz: 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 es wird die Fehlermeldung „Ungültige Adresse“ 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.
Python3
# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')> |
>
>
Hier wird Datei1 als Objekt für MyFile1 und Datei2 als Objekt für MyFile2 erstellt.
Eine Datei schließen
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.
Syntax:
File_object.close()>
Python3
jsp
# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()> |
>
>
Aus einer Datei lesen
Es gibt drei Möglichkeiten, Daten aus einer Textdatei zu lesen.
- read(): 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])>
- readline(): 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])>
- readlines(): Liest alle Zeilen und gibt sie zurück, da jede Zeile ein Zeichenfolgenelement in einer Liste ist.
File_object.readlines()>
Notiz: „ “ wird als Sonderzeichen von zwei Bytes behandelt.
Beispiel:
Python3
# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi
', 'This>is> Paris
', 'This>is> London
']> # Writing data to a file> 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>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()> |
String-Format in Java
>
>
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 ']>
Mit Aussage
Die with-Anweisung in Python wird bei der Ausnahmebehandlung verwendet, um den Code sauberer und besser lesbar zu machen. Es vereinfacht die Verwaltung gemeinsamer Ressourcen wie Dateiströme. Im Gegensatz zu den oben genannten Implementierungen ist es nicht erforderlich, file.close() aufzurufen, wenn die with-Anweisung verwendet wird. Die with-Anweisung selbst stellt die ordnungsgemäße Erfassung und Freigabe von Ressourcen sicher.
Syntax:
with open filename as file:>
Python3
# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi
', 'This>is> Paris
', 'This>is> London
']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello
')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())> |
>
>
Ausgabe:
Hello This is Delhi This is Paris This is London>
Notiz: Erfahren Sie mehr über with-Anweisung klicken Sie hier .