Umgang mit einfachen Textdateien in Python 3

Einführung

Python ist ein großartiges Tool für die Verarbeitung von Daten. Es ist wahrscheinlich, dass bei jedem Programm, das Sie schreiben, Daten gelesen, geschrieben oder bearbeitet werden. Aus diesem Grund ist es besonders nützlich zu wissen, wie mit verschiedenen Dateiformaten umgegangen wird, in denen unterschiedliche Datentypen gespeichert sind.

Stellen Sie sich beispielsweise ein Python-Programm vor, das einen Prozentsatz (t0) der Benutzer auf Zugriffskontrolle überprüft. Ihre Benutzerliste wird wahrscheinlich in einer Textdatei gespeichert. Vielleicht arbeiten Sie nicht mit Text, sondern haben ein Programm, das Finanzanalysen durchführt. Um eine Zahlenkalkulation durchzuführen, müssen Sie diese Zahlen wahrscheinlich aus einer gespeicherten Tabelle eingeben. Unabhängig von Ihrer Anwendung ist nahezu garantiert, dass Daten eingegeben oder ausgegeben werden.

Dieses Tutorial beschreibt kurz einige der Formattypen, die Python verarbeiten kann. Nach einer kurzen Einführung in Dateiformate erfahren Sie, wie Sie eine Textdatei in Python 3 öffnen, lesen und schreiben.

Wenn Sie mit diesem Tutorial fertig sind, können Sie mit jeder Textdatei in Python umgehen.

Voraussetzungen

Für dieses Tutorial sollten Sie Python 3 sowie eine lokale Programmierumgebung auf Ihrem Computer installiert haben. Wenn dies nicht der Fall ist, können Sie das System einrichten, indem Sie der entsprechenden Installations- und Einrichtungsanleitung für Ihr Betriebssystem folgen:

Hintergrund

Python ist sehr zuvorkommend und kann relativ einfach mit einer Reihe von verschiedenen Dateiformaten umgehen, unter anderem mit den folgenden:

Dateityp Beschreibung

txt

In einer einfachen Textdatei werden Daten gespeichert, die nur Zeichen (oderstrings) darstellen, und strukturierte Metadaten werden ausgeschlossen

CSV

Durch Kommas getrennte Wertedateien verwenden Kommas (oder andere Trennzeichen), um gespeicherte Daten zu strukturieren, sodass Daten in einem Tabellenformat gespeichert werden können

HTML

Die HyperText Markup Language-Datei speichert strukturierte Daten und wird häufig auf den meisten Websites verwendet

JSON

Die JavaScript-Objektnotation ist ein einfaches und effizientes Format und damit eines der am häufigsten verwendeten Formate zum Speichern und Übertragen von Daten

Dieses Tutorial konzentriert sich auf das Dateiformat vontxt.

[[Schritt-1 - Erstellen einer Textdatei]] == Schritt 1 - Erstellen einer Textdatei

Bevor wir mit der Arbeit in Python beginnen können, müssen wir sicherstellen, dass wir eine Datei haben, mit der wir arbeiten können. Dazu öffnen wir einen Texteditor und erstellen eine neue txt-Datei. Nennen wir siedays.txt.

Geben Sie in die neue Datei einige Textzeilen ein. In diesem Beispiel listen wir die Wochentage auf:

days.txt

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Speichern Sie als Nächstes Ihre Datei und vergewissern Sie sich, dass Sie wissen, wo Sie sie abgelegt haben. In unserem Beispiel hat unser Benutzersammy die Datei hier gespeichert:/users/sammy/days.txt. Dies wird in späteren Schritten, in denen wir die Datei in Python öffnen, sehr wichtig sein.

Jetzt, da wir eine txt-Datei zu verarbeiten haben, können wir unseren Code beginnen!

[[Schritt-2 - Öffnen einer Datei]] == Schritt 2 - Öffnen einer Datei

Bevor wir unser Programm schreiben können, müssen wir eine Python-Programmierdatei erstellen. Erstellen Sie daher die Dateifiles.py mit Ihrem Texteditor. Speichern Sie es zur Vereinfachung im selben Verzeichnis wie unseredays.txt-Datei:/users/sammy/.

Um eine Datei in Python zu öffnen, benötigen wir zunächst eine Möglichkeit, die Datei auf der Festplatte mit einemvariable in Python zu verknüpfen. Dieser Vorgang heißtopening eine Datei. Wir beginnen damit, Python mitzuteilen, wo sich die Datei befindet. Der Speicherort Ihrer Datei wird häufig als Dateipath bezeichnet. Damit Python Ihre Datei öffnen kann, ist der Pfad erforderlich. Der Pfad zu unsererdays.txt-Datei lautet:/users/sammy/days.txt. In Python erstellen wir eine Zeichenfolgenvariable, um diese Informationen zu speichern. In unserem Skriptfiles.pyerstellen wir die Variablepathund setzen die Variable auf den Pfad days.txt.

files.py

path = '/users/sammy/days.txt'

Wir werden dann dieopen()-Funktion von Python verwenden, um diedays.txt-Datei zu öffnen. Die Funktionopen()benötigt als erstes Argument den Dateipfad. Die Funktion ermöglicht auch viele andere Parameter. Am wichtigsten ist jedoch der optionale Parametermode. Modus ist eine optionale Zeichenfolge, die den Modus angibt, in dem die Datei geöffnet wird. Der von Ihnen gewählte Modus hängt davon ab, was Sie mit der Datei tun möchten. Hier sind einige unserer Modusoptionen:

  • 'r': Zum Lesen verwenden

  • 'w': Zum Schreiben verwenden

  • 'x': Zum Erstellen und Schreiben in eine neue Datei

  • 'a': Zum Anhängen an eine Datei

  • 'r+': Zum Lesen und Schreiben in dieselbe Datei

In diesem Beispiel möchten wir nur aus der Datei lesen, daher verwenden wir den'r'-Modus. Wir werden dieopen()-Funktion verwenden, um diedays.txt-Datei zu öffnen und sie der Variablendays_file zuzuweisen.

files.py

days_file = open(path,'r')

Nachdem wir die Datei geöffnet haben, können wir daraus lesen, was wir im nächsten Schritt tun werden.

[[Schritt-3 - Lesen einer Datei]] == Schritt 3 - Lesen einer Datei

Da unsere Datei geöffnet wurde, können wir sie jetzt bearbeiten (d. H. lesen Sie aus) durch die Variable, die wir ihm zugewiesen haben. Python bietet drei verwandte Operationen zum Lesen von Informationen aus einer Datei. Wir zeigen Ihnen, wie Sie alle drei Vorgänge als Beispiele verwenden, um zu verstehen, wie sie funktionieren.

Die erste Operation<file>.read() gibt den gesamten Inhalt der Datei als einzelne Zeichenfolge zurück.

days_file.read()
Output'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'

Die zweite Operation<file>.readline() gibt die nächste Zeile der Datei zurück und gibt den Text bis einschließlich des nächsten Zeilenumbruchzeichens zurück. Einfacher ausgedrückt, liest diese Operation eine Datei Zeile für Zeile.

days_file.readline()
Output'Monday\n'

Wenn Sie eine Zeile mit der Readline-Operation gelesen haben, wird sie daher in die nächste Zeile weitergeleitet. Wenn Sie diese Operation also erneut aufrufen, wird die nächste Zeile in der Datei zurückgegeben (siehe Abbildung).

days_file.readline()
Output'Tuesday\n'

Die letzte Operation<file>.readlines() gibt eine Liste der Zeilen in der Datei zurück, wobei jedes Element der Liste eine einzelne Zeile darstellt.

days_file.readlines()
Output['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n']

Beachten Sie Folgendes, wenn Sie Dateien lesen: Wenn eine Datei mit einem der Lesevorgänge gelesen wurde, kann sie nicht erneut gelesen werden. Wenn Sie beispielsweise zuerstdays_file.read() gefolgt vondays_file.readlines() ausführen, gibt die zweite Operation eine leere Zeichenfolge zurück. Wenn Sie also aus einer Datei lesen möchten, müssen Sie zuerst eine neue Dateivariable öffnen. Nachdem wir aus einer Datei gelesen haben, lernen wir, wie man in eine neue Datei schreibt.

[[Schritt 4 - Schreiben einer Datei]] == Schritt 4 - Schreiben einer Datei

In diesem Schritt schreiben wir eine neue Datei, die den TitelDays of the Week gefolgt von den Wochentagen enthält. Lassen Sie uns zunächst die Variabletitleerstellen.

files.py

title = 'Days of the Week\n'

Wir müssen auch die Wochentage in einer Zeichenfolgenvariablen speichern, die wirdays nennen. Um das Befolgen zu vereinfachen, fügen wir den Code aus den obigen Schritten ein. Wir öffnen die Datei im Lesemodus, lesen die Datei und speichern die zurückgegebene Ausgabe der Leseoperation in unserer neuen Variablendays.

files.py

path = '/users/sammy/days.txt'
days_file = open(path,'r')
days = days_file.read()

Nachdem wir nun Variablen für Titel und Wochentage haben, können wir beginnen, in unsere neue Datei zu schreiben. Zunächst müssen wir den Speicherort der Datei angeben. Wieder werden wir das Verzeichnis/users/sammy/ verwenden. Wir müssen die neue Datei angeben, die wir erstellen möchten. Unser Pfad wird also tatsächlich/users/sammy/new_days.txt sein. Wir geben unsere Standortinformationen in der Variablennew_path an. Anschließend öffnen wir unsere neue Datei im Schreibmodus mit der Funktionopen() und dem angegebenen Modus'w'.

files.py

new_path = '/users/sammy/new_days.txt'
new_days = open(new_path,'w')

Es ist wichtig zu beachten, dass, wenn new_days.txt bereits vor dem Öffnen der Datei vorhanden war, der alte Inhalt zerstört worden wäre. Seien Sie also vorsichtig, wenn Sie den'w'-Modus verwenden.

Sobald unsere neue Datei geöffnet ist, können wir mithilfe der Schreiboperation<file>.write() Daten in die Datei einfügen. Die Schreiboperation verwendet einen einzelnen Parameter, der eine Zeichenfolge sein muss, und schreibt diese Zeichenfolge in die Datei. Wenn Sie eine neue Zeile in der Datei beginnen möchten, müssen Sie das Zeilenumbruchzeichen explizit angeben. Zuerst schreiben wir den Titel in die Datei, gefolgt von den Wochentagen. Fügen Sie auch einige gedruckte Aussagen zu dem hinzu, was wir schreiben. Dies ist häufig eine gute Methode, um den Fortschritt Ihrer Skripte zu verfolgen.

files.py

new_days.write(title)
print(title)

new_days.write(days)
print(days)

Wenn wir mit einer Datei fertig sind, müssen wir sie unbedingt schließen. Wir zeigen dies in unserem letzten Schritt.

[[Schritt-5 -—- Schließen einer Datei]] == Schritt 5 - Schließen einer Datei

Durch das Schließen einer Datei wird sichergestellt, dass die Verbindung zwischen der Datei auf der Festplatte und der Dateivariablen hergestellt ist. Das Schließen von Dateien stellt auch sicher, dass andere Programme auf sie zugreifen können, und schützt Ihre Daten. Stellen Sie also immer sicher, dass Sie Ihre Dateien schließen. Schließen wir nun alle unsere Dateien mit der Funktion<file>.close().

files.py

days_file.close()
new_days.close()

Wir sind jetzt mit der Verarbeitung von Dateien in Python fertig und können unseren Code durchsehen.

[[Schritt-6 -—- Überprüfung unseres Codes]] == Schritt 6 - Überprüfung unseres Codes

Bevor wir unseren Code ausführen, müssen wir sicherstellen, dass alles gut aussieht. Das Endprodukt sollte ungefähr so ​​aussehen:

files.py

path = '/users/sammy/days.txt'
days_file = open(path,'r')
days = days_file.read()


new_path = '/users/sammy/new_days.txt'
new_days = open(new_path,'w')

title = 'Days of the Week\n'
new_days.write(title)
print(title)

new_days.write(days)
print(days)

days_file.close()
new_days.close()

Öffnen Sie nach dem Speichern Ihres Codes das Terminal und führen Sie Ihr Python-Skript folgendermaßen aus:

python files.py

Unsere Ausgabe sollte folgendermaßen aussehen:

OutputDays of the Week

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Lassen Sie uns nun überprüfen, ob unser Code vollständig funktioniert, indem Sie unsere neue Datei (new_days.txt) öffnen. Wenn alles gut gegangen ist, sollte es beim Öffnen unserer neuen Datei so aussehen:

new_days.txt

Days of the Week
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Ihre Datei sieht gleich oder ähnlich aus - Sie haben dieses Tutorial erfolgreich abgeschlossen!

Fazit

In diesem Tutorial haben wir uns mit der Handhabung und Bearbeitung von Nur-Text-Dateien in Python 3 befasst. Jetzt können Sie Dateien in Python öffnen, lesen, schreiben und schließen und mit Ihren eigenen Daten in Python weiterarbeiten.