41
Anja Aue | 14.11.19 Python „Datei-Eingabe und -Ausgabe“

Python „Datei-Eingabe und -Ausgabe“ · Programmiersprache Python Seite 16 … unter Windows datei = open('C:\python\dateien\temperatur.csv') Der Pfad beginnt mit dem Laufwerksbuchstaben

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Anja Aue | 14.11.19

Python„Datei-Eingabe und -Ausgabe“

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 4

Aufbau der Funktion

datei(open , modus )

ParameterlisteName

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)

Programmiersprache Python Seite 41

Aktuelle Python-Version

Der Bezeichner version ist in dem Modul sys definiert. Der Punkt-Operator verbindet Speicherort und Funktion.

import sys

print("Python-Version: ", sys.version)