logo

In Python in eine Datei schreiben

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 .



Inhaltsverzeichnis

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:

    Nur schreiben („w“): Öffnen Sie die Datei zum Schreiben. Bei einer vorhandenen Datei 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.

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:

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', 'w')> > # 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.

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


saure Eigenschaften



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

>

>

Schreiben in eine Datei

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

    write(): Fügt die Zeichenfolge str1 in einer einzelnen Zeile in die Textdatei ein.
File_object.write(str1)>
    writelines(): Für eine Liste von String-Elementen wird jeder String in die Textdatei eingefügt. Wird zum gleichzeitigen Einfügen mehrerer Zeichenfolgen verwendet.
File_object.writelines(L) for L = [str1, str2, str3]>

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

Python3




# Python program to demonstrate> # writing to file> # Opening a file> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> s>=> 'Hello '> # Writing a string to file> file1.write(s)> # Writing multiple strings> # at a time> file1.writelines(L)> # Closing file> file1.close()> # Checking if the data is> # written to file or not> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(file1.read())> file1.close()>

>

>

Ausgabe:

Hello This is Delhi This is Paris This is London>

An eine Datei anhängen

Wenn die Datei im Anhängemodus geöffnet wird, wird das Handle am Ende der Datei positioniert. Die zu schreibenden Daten werden am Ende nach den vorhandenen Daten eingefügt. Sehen wir uns das folgende Beispiel an, um den Unterschied zwischen Schreibmodus und Anhängemodus zu verdeutlichen.

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.read())> 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.read())> 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>

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> # write data to a file using with statement> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing to file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> # Reading from file> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading form a file> >print>(file1.read())>

>

>

Ausgabe:

Hello This is Delhi This is Paris This is London>

Hinweis: Um mehr über die with-Anweisung zu erfahren, klicken Sie hier.

Verwendung der for-Anweisung:

Schritte:

Um mit einer for-Anweisung in eine Datei in Python zu schreiben, können Sie die folgenden Schritte ausführen:

Öffnen Sie die Datei mit der Funktion open() im entsprechenden Modus („w“ für Schreiben).
Verwenden Sie die for-Anweisung, um die Daten zu durchlaufen, die Sie in die Datei schreiben möchten.
Verwenden Sie die write()-Methode des Dateiobjekts, um die Daten in die Datei zu schreiben.
Schließen Sie die Datei mit der Methode close() des Dateiobjekts.

In diesem Beispiel wird die Datei mit der Anweisung with open(‘file.txt’, ‘w’) as f zum Schreiben geöffnet. Die zu schreibenden Daten werden in einer Liste namens Daten gespeichert. Die for-Anweisung wird verwendet, um jede Datenzeile in der Liste zu durchlaufen. Die f.write(line + ‚ ‘)-Anweisung schreibt jede Datenzeile mit einem Zeilenumbruchzeichen ( ) am Ende in die Datei. Schließlich wird die Datei automatisch geschlossen, wenn der With-Block endet.

Python3




# Open the file for writing> with>open>(>'file.txt'>,>'w'>) as f:> ># Define the data to be written> >data>=> [>'This is the first line'>,>'This is the second line'>,>'This is the third line'>]> ># Use a for loop to write each line of data to the file> >for> line>in> data:> >f.write(line>+> ' '>)> ># Optionally, print the data as it is written to the file> >print>(line)> # The file is automatically closed when the 'with' block ends>

>

>

Array von Strings, C-Programmierung
Ausgabe

This is the first line This is the second line This is the third line>

Ansatz:
Der Code öffnet eine Datei namens file.txt im Schreibmodus mithilfe eines With-Blocks, um sicherzustellen, dass die Datei ordnungsgemäß geschlossen wird, wenn der Block endet. Es definiert eine Liste von Zeichenfolgen namens Daten, die die Zeilen darstellen, die in die Datei geschrieben werden sollen. Der Code verwendet dann eine for-Schleife, um jede Zeichenfolge in den Daten zu durchlaufen, und schreibt jede Zeichenfolge mithilfe der Methode write() in die Datei. Der Code hängt an jede Zeichenfolge ein Zeilenumbruchzeichen an, um sicherzustellen, dass jede Zeichenfolge in eine neue Zeile in der Datei geschrieben wird. Der Code gibt optional jede Zeichenfolge aus, während sie in die Datei geschrieben wird.

Zeitkomplexität:
Sowohl der Originalcode als auch der Alternativcode haben eine zeitliche Komplexität von O(n), wobei n die Anzahl der Zeilen ist, die in die Datei geschrieben werden sollen. Dies liegt daran, dass beide Codes jede Zeile in der Datenliste durchlaufen müssen, um sie in die Datei zu schreiben.

Raumkomplexität:
Der Originalcode und der Alternativcode haben die gleiche räumliche Komplexität von O(n), wobei n die Anzahl der Zeilen ist, die in die Datei geschrieben werden sollen. Dies liegt daran, dass beide Codes eine Liste von Zeichenfolgen erstellen müssen, die die in die Datei zu schreibenden Zeilen darstellen.