Python „Datei-Eingabe und -Ausgabe“ · Programmiersprache Python Seite 16 … unter Windows...
Transcript of Python „Datei-Eingabe und -Ausgabe“ · Programmiersprache Python Seite 16 … unter Windows...
Programmiersprache Python Seite 2
Ausgabe eines Konsolenprogramms
Ausgabe in die Kommandozeile, den Terminal oder die Shell. Schreiben in eine Datei. Speicherung von Daten.
Programmiersprache Python Seite 3
Öffnen einer Datei
Eine Datei wird in einem bestimmten Modus geöffnet. Ein Verweis auf die Datei wird in einer Variablen (hier: datei)
gespeichert. Hinweis: Jede geöffnete Datei sollte auch wieder geschlossen
werden.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 5
Name der Funktion
datei(open , modus )
Der Name kennzeichnet eindeutig einen Codeabschnitt. Der Name, wie zum Beispiel open() gibt häufig Auskunft über
die Nutzung. Die Groß- und Kleinschreibung wird bei Funktionsnamen
beachtet.
Programmiersprache Python Seite 6
Parameterliste der Funktion
datei(open , modus )
Direkt im Anschluss an den Funktionsnamen. Runde Klammern am Anfang und Ende. In Abhängigkeit der Definition hat die Liste x Parameter. Die Parameter werden durch ein Komma getrennt.
Programmiersprache Python Seite 7
Parameter der Funktion open
datei(open , modus )
Erster Parameter: Welche Datei wird geöffnet? Zweiter Parameter: Wie wird die Datei geöffnet?
Programmiersprache Python Seite 8
Öffnungsmodus
Der zweite Parameter ist vom Datentyp „String‟. Der Buchstabe definiert den Öffnungsmodus der Datei In diesem Beispiel wird die Datei zum Schreiben geöffnet.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 9
Möglichkeiten
'r' Read. Datei lesen.
'w' Write. Falls vorhanden, Datei löschen. Dann schreiben.
'a' Append. Am Ende der Datei Inhalt anhängen. Falls die Datei nicht existiert, wird diese erzeugt.
'w' Write. Falls vorhanden, Datei löschen. Dann schreiben.
'x' Create. Schreiben in eine Datei. Falls die Datei existiert → Fehler FileExistsError
Weitere Informationen: https://docs.python.org/3/library/functions.html#open
Programmiersprache Python Seite 10
Kombination von Lesen und Schreiben
'r+' Datei lesen und schreiben.
'w' Write. Falls vorhanden, Datei löschen. Dann schreiben.
'a+' Lesen. Am Ende der Datei Inhalt anhängen.
'w+' Falls vorhanden, Datei löschen. Dann lesen und schreiben.
Programmiersprache Python Seite 11
Textmodus
Standardmodus. Die Datei ist von einem Menschen mit Hilfe eines Editors
lesbar. Zeichen werden in einer bestimmten Kodierung gespeichert.
datei = open('arbeitsdatei', 'wt')
Programmiersprache Python Seite 12
Binärmodus
Falls die Datei mit einem Editor geöffnet wird, enthält sie unleserliche Zeichen.
Speicherung von Bitmustern. Bilder, Audiodateien und so weiter.
datei = open('arbeitsdatei', 'wb')
Programmiersprache Python Seite 13
Öffnen der Datei ...
Der erste Parameter legt fest, welche Datei geöffnet wird. Die Datei kann im gleichen Verzeichnis wie der Code oder an
einem beliebigen Ort liegen.
datei = open('arbeitsdatei', 'w')
Programmiersprache Python Seite 14
Absoluter Pfad
datei = open('C:\python\dateien\temperatur.csv')datei = open('/python/dateien/temperatur.csv')
Der Pfad wird von der Wurzel beginnend in Abhängigkeit des Betriebssystems angegeben.
Absolute Pfade sollten vermieden werden.
Programmiersprache Python Seite 15
… unter Linux
datei = open('/python/dateien/temperatur.csv')
Der Pfad beginnt mit einem Schrägstrich. Der Schrägstrich wird als Trennzeichen von Ordner und
Dateien unter Linux genutzt.
Programmiersprache Python Seite 16
… unter Windows
datei = open('C:\python\dateien\temperatur.csv')
Der Pfad beginnt mit dem Laufwerksbuchstaben. Dem Laufwerksbuchstaben folgt ein Doppelpunkt. Als Pfadtrennzeichen wird der Backslash (umgekehrter
Schrägstrich) genutzt. Das Betriebssystem Windows versteht auch Pfadangaben in
der Linux-Schreibweise.
Programmiersprache Python Seite 17
Relative Pfade
datei = open('/dateien/temperatur.csv'}datei = open('../dateien/temperatur.csv'}
Relativ zum Speicherort des Öffners. Die Pfade werden relativ zu dem Speicherort des Codes
angegeben.
Programmiersprache Python Seite 18
Beispiel 1
datei = open('/dateien/temperatur.csv'}
beispiel
temperatur.csv
dateien
code.py
Programmiersprache Python Seite 19
Beispiel 2
datei = open('../dateien/temperatur.csv'}
beispiel
temperatur.csv
dateien
code.py
../
Programmiersprache Python Seite 20
Dateiname
Je nach Betriebssystem wird die Groß- und Kleinschreibung beachtet.
Der Dateiname besteht nur aus den Buchstaben des lateinischen Alphabets, dem Unterstrich und Zahlen.
Die Dateiendung legt das Format der Datei fest. Zum Beispiel „csv“ ist eine Textdatei, die die verschiedenen Spalteninhalte mit Hilfe eines Kommas, Semikolon etc. trennt.
Programmiersprache Python Seite 21
Rückgabewert der Funktion
datei = open('C:/python/dateien/temperatur.csv'}
Der Variablen datei wird der Rückgabewert der Funktion open() zugewiesen.
Rückgabe eines File-Objekts. Verweis auf ein Objekt, welches sequentiell beschrieben und /
oder gelesen werden kann.
Programmiersprache Python Seite 22
Schließen einer Datei
Die Variable datei hat ein File-Objekt gespeichert. Im Bauplan dieses Objektes ist die Methode .close() definiert. Der Punkt verbindet Objekt und Methode. Die Methode .close() wird auf das Objekt datei angewendet.
datei.close()
Programmiersprache Python Seite 23
Öffnen und und automatisiertes Schließen
with open('temperatur.csv', 'w') as datei:
strTemperatur = input("Eingabe einer Temperatur: ") datei.write('Januar' + trennzeichen) datei.write(strTemperatur)
Programmiersprache Python Seite 24
With-Anweisung
Die Anweisung endet mit dem Doppelpunkt. In den nächsten eingerückten Zeilen folgen Anweisungen, die
sich auf die Datei beziehen. „Mit der geöffneten Datei tue etwas‟.
with open('temperatur.csv', 'w') as datei:
Programmiersprache Python Seite 25
Erläuterung
Beginn mit dem Schlüsselwort with. Dem Schlüsselwort folgt eine Anweisung wie zum Beispiel
open(). Der Funktion folgt das Schlüsselwort as und der Name einer
Variablen. Es wird ein Alias für die Anweisung erzeugt. In diesem Beispiel wird ein Verweis auf die geöffnete Datei erstellt.
Die Anweisung wird in einem bestimmten Kontext ausgeführt. In diesem Beispiel wird eine Datei zu Beginn geöffnet. Am Ende des Codeblocks wird automatisiert die Datei geschlossen.
with open('temperatur.csv', 'w') as datei:
Programmiersprache Python Seite 26
Schreiben in eine Datei
with open('temperatur.csv', 'w') as datei: strTemperatur = input("Temperaturwert: ") datei.write('Januar' + trennzeichen) datei.write(strTemperatur)
Programmiersprache Python Seite 27
Methode .write()
Die Datei muss zum Schreiben geöffnet werden. Der Methode .write() wird ein String (Zeichenkette)
übergeben.
datei.write('Januar' + trennzeichen)datei.write(strTemperatur)
Programmiersprache Python Seite 28
Lesen einer Datei
dateiname = input("Bitte geben Sie die zu lesende Datei ein: ")
with open(dateiname, 'r') as datei: strZeichen = datei.read()
print(strZeichen)
Programmiersprache Python Seite 29
Methode .read()
Die Methode .read() liest den Inhalt der Datei, auf den die Variable datei verweist.
Der Inhalt der Datei wird von der Methode zurückgegeben und kann in einer Variablen gespeichert werden.
strZeichen = datei.read()
Programmiersprache Python Seite 30
Methode .readline()
Der Inhalt der Datei wird zeilenweise eingelesen. Zeichen werden von der aktuellen Position bis zum Zeichen
'\n' gelesen.
strZeile = datei.readline()
Programmiersprache Python Seite 31
Liste aller Zeilen
datei = open('daten/adresse.csv', 'r')
for strZeile in datei.readlines(): listeAdresse.append(strZeile.split(';'))
.readlines() gibt eine Liste aller Zeilen in einer Datei zurück. Die Liste kann mit Hilfe einer Schleife durchlaufen werden. In
diesem Beispiel „Für jede Zeile in der Liste‟.
Programmiersprache Python Seite 32
Lesen von x Zeichen
Der Methode wird die Anzahl der zu lesenden Bytes übergeben.
Bei der Nutzung von UTF-8 oder ASCII entspricht dieses ein Zeichen.
zeichen = datei.read(1)
Programmiersprache Python Seite 33
Position des Dateizeigers
Aktuelle Position des Dateizeigers. Nach dem Öffnen der Datei hat der Dateizeiger die Position
null.
position = datei.tell()
Programmiersprache Python Seite 34
Setzen der Position
Mit Hilfe der Methode .seek() wird der Dateizeiger verschoben.
In der Parameterliste der Methode wird die neue Position definiert.
datei.seek(dateigroesse - counter)
Programmiersprache Python Seite 35
Anfang und Ende einer Datei
Hinweis: Das Modul os muss am Anfang des Codes eingebunden werden.
os.SEEK_SET. Beginn der Datei. os.SEEK_END. Ende der Datei.
import osdatei.seek(0, os.SEEK_SET)datei.seek(0, os.SEEK_END)
Programmiersprache Python Seite 36
Modul os
Das Schlüsselwort import steht immer am Anfang eines Moduls.
In diesem Beispiel werden die Funktionen aus dem Modul os importiert.
Das Modul os enthält Informationen zum Betriebssystem sowie dem Arbeitspfad.
import os
Programmiersprache Python Seite 37
Aktuelle Plattform
nt. Nutzung des Betriebssystem Windows. posix. Unix / Linux-Betriebssystem.
import os
print("Plattform: ", os.name)
Programmiersprache Python Seite 38
Aktuelles Arbeitsverzeichnis
Die Funktion getcwd() ist in dem Modul os definiert. Der Punkt-Operator verbindet Speicherort und Funktion.
Dem Funktionsnamen folgen die Klammern der Parameterliste. Der Funktion werden keine Parameter übergeben.
import os
print("Aktuelle Arbeitsverzeichnis: ", os.getcwd())
Programmiersprache Python Seite 39
Modul sys
Funktionen aus dem Modul sys werden importiert. Das Modul sys enthält Informationen zum Python-System.
import sys
Programmiersprache Python Seite 40
Aktuelle Plattform
win32. Nutzung des Betriebssystem Windows. linux. Unix / Linux-Betriebssystem.
import sys
print("Plattform: ", sys.platform)