Einführung in die Programmiersprache Python

Werbung
Einführung in die Programmsprache Python
- Dateien lesen oder schreiben -
Programm
Dies ist ein Text
Dies ist ein Text
Datei (File)
 Informationen werden in irgendeiner Form elektronisch
abgelegt.
 ... ist eine Folge von Bytes, die verschiedene Informationen
speichern.
 ... ist eine strukturierte Zusammenfassung von Daten. Die
Dateiendung legt die Struktur fest.
 ... stellt Daten einem Rechnersystem oder Programm unter
einem Namen zur Verfügung. Ein Name identifiziert eine Datei
eindeutig.
Einführung in Python, 07.07.09
Seite 2
Stream (Datenstrom)
 ... ist eine Folge von Zeichen von der Quelle zu einem
logischen Gerät wie Monitor, Dateien, Drucker etc.
stdin
Eingehende Datenströme
(downstream)
Einführung in Python, 07.07.09
stdout
Ausgehende Datenströme
(upstream)
Seite 3
Binäre Streams
 ... bestehen aus einer Folge von Bytes. Bytes stellen die
Sprache der Computer dar.
 ... haben eine eindeutige Beziehung zu dem externen Gerät
oder Datei.
 Die Anzahl der geschriebenen und / oder gelesenen Bytes
entsprechen der Anzahl von Bytes auf dem externen Gerät.
 ... sind für Menschen nicht lesbar.
 ... sind meist sehr kompakte Dateien.
 ... werden im Rahmen dieses Kurses nicht behandelt.
Einführung in Python, 07.07.09
Seite 4
Text-Streams
... bestehen aus einer Folge von Zeichen.
Die Zeichen sind in Zeilen angeordnet.
Eine Zeile endet mit einem Zeilen-Endezeichen (Newline; \n).
Eine Zeile kann leer (Null) sein.
Einige Zeichen werden für ein bestimmtes Gerät codiert. Zum
Beispiel wird häufig [Newline] in ein [Carriage Return][Line Feed]
übersetzt.
 ... sind für den Menschen in einem Editor lesbar.





Einführung in Python, 07.07.09
Seite 5
Textdateien öffnen
datei = open("klima.csv", "w")
datei = open(pfad,"r")
 Seit Python 2.2 wird der Name der Methode open() als Alias
für die Methode file() genutzt.
 Als Argument wird
 ... der Name der zu öffnenden Datei und
 ... ein Modus übergeben. Standardmäßig wird die
angegebene Datei zum Lesen geöffnet.
Einführung in Python, 07.07.09
Seite 6
Dateipfade
 Standardmäßig wird eine Datei im Programm-Verzeichnis
gesucht.
 ... können absolut angegeben. Der Pfad wird vollständig
ausgeschrieben.
 ... können relativ zum Ausgangspfad angegeben werden.
 Falls das Betriebssystem Windows genutzt wird, müssen
Dateipfade als raw string ("Roher String") angegeben werden.
Beispiel:
pfad = r"C:\Dokumente und Einstellungen\OfficeTeam\
Eigene Dateien\python\kapitel6\datei.txt"
 Das Präfix r kennzeichnet einen raw String.
 Der Backslash wird als Zeichen und nicht als Steuerzeichen
interpretiert.
Einführung in Python, 07.07.09
Seite 7
Absolute Pfade
 Der Pfad wird von der Wurzel bis
zur Datei beschrieben.
 Beispiel für Windows:
C:\Dokumente\briefe\
brief0102.txt
 Beispiel für Linux / UNIX:
/Dokumente/briefe/brief0102.txt
C:\
Dokumente
\python
\briefe
brief0102.txt
brief0502.txt
\planung
Programme
Einführung in Python, 07.07.09
Seite 8
Relative Pfade
 Der Pfad wird relativ zur Position
des Programms beschrieben.
 Beispiel: [ briefe\brief0102.txt ]
beschreibt den Pfad zu einer
Textdatei in Abhängigkeit des
Ordners Dokumente.
 Beispiel: [ ../python ] geht von
dem Ordner briefe eine Ebene
hoch und wechselt dort in den
Ordner python.
Einführung in Python, 07.07.09
C:\
Dokumente
\python
\briefe
brief0102.txt
brief0502.txt
\planung
Programme
Seite 9
Modi zum Öffnen einer Datei
Modi
Beschreibung
"r"
Read. Die Datei wird zum Lesen geöffnet. Falls die
Datei nicht vorhanden ist, wird ein Fehler gemeldet.
"w"
Write. Die Datei wird zum Schreiben geöffnet. Falls
eine Datei mit dem Namen existiert, wird diese
überschrieben.
"a"
Append. Die Datei wird zum Schreiben geöffnet. Eine
Datei mit gleichen Namen wird nicht überschrieben.
Die Daten werden angehängt.
"r+", "w+", "a+" Die Datei wird zum Lesen und Schreiben geöffnet.
Eine existierende Datei wird geleert.
Einführung in Python, 07.07.09
Seite 10
Datei (File) - Objekt
 Informationen zur Datei werden als Objekt gespeichert.
 Das Objekt ist immer mit einer elektronischen Datei verbunden.
 Die Datei selber
 ... kann beliebig lang sein.
 ... hat ein definiertes Ende, welches mit eof (end of file)
gekennzeichnet ist.
 ... besitzt einen Cursor, der auf ein Zeichen an einer
bestimmten Position verweist.
'
J
Einführung in Python, 07.07.09
A
N
'
•••
\n
•••
eof
Seite 11
Attribute
Eigenschaft
Beschreibung
datei.name
datei.mode
datei.encoding
Dateiname.
Modus der geöffneten Datei. Ist die Datei zum
Schreiben oder Lesen geöffnet?
Welcher Zeichencode wird in der Datei genutzt?
datei.closed
Ist die Datei geschlossen?
Einführung in Python, 07.07.09
Seite 12
Zwischenspeicher nutzen
datei = open("messung.dat", "r", buffering=11)
...
 Vor dem Schreiben oder nach dem Lesen werden die Daten
aus der Datei in einem Zwischenspeicher abgelegt.
 Als drittes kann der Methode optional die Größe des
Zwischenspeichers (Buffer) übergeben werden.
Einführung in Python, 07.07.09
Seite 13
Mögliche Einstellungen
datei = open("messung.dat", buffering=1)
...
 Wert = 0. Die Daten werden nicht im Zwischenspeicher
abgelegt.
 Wert = 1. Die Daten werden zeilenweise aus der Datei in den
Zwischenspeicher geschrieben.
 Wert > 1. Standardeinstellung. Es werden so viele Zeichen
gelesen, wie im Zwischenspeicher abgelegt werden können.
Einführung in Python, 07.07.09
Seite 14
Encoding der Datei
datei = open("messung.dat", encoding="latin-1")
...
 Für jede zu öffnende Textdatei kann eine Codierung der
Zeichen angegeben werden.
Einführung in Python, 07.07.09
Seite 15
Strings kodieren
>>> strText.encode("utf-8")
b'5 kg Kartoffeln'
 Die Methode gibt ein Byte-Objekt zurück. Das Präfix b
kennzeichnet ein Byte-Objekt.
 Eine Auflistung der möglichen Kodierungen finden Sie unter
http://docs.python.org/library/codecs.html#standard-encodings.
Einführung in Python, 07.07.09
Seite 16
ASCII-Zeichen
 American Standard Code for Information Interchange.
 Die Zeichen werden von 0 bis 127 durchnummeriert. Das heißt,
jedes Zeichen wird mit einer Ganzzahl codiert.
 ... bestehen aus dem englischsprachigen Alphabet, den Zahlen,
den Satzzeichen sowie Steuerzeichen.
 Ältere Versionen von Python nutzen eine ASCII-Codierung.
Einführung in Python, 07.07.09
Seite 17
Unicode-Zeichen
 Unicode Transformation Format.
 Für jedes Zeichen auf der Welt wird eine eindeutige Nummer
vergeben.
 Python 3.0 und höher nutzen standardmäßig eine UTF-8Codierung.
 Die verschiedenen Zeichen werden mit einer
unterschiedlichen Anzahl an Bytes codiert.
 ASCII-Zeichen werden mit einem Byte codiert.
 Der erweiterte Latin-Zeichensatz wird mit zwei Bytes codiert.
 Unicode-Zeichenstrings sollten bei der Textbearbeitungen in
Dateien genutzt werden.
Einführung in Python, 07.07.09
Seite 18
Latin 1
 oder iso-8859-1.
 8-Bit-Zeichencode für Sprachen aus dem europäischen
Sprachraum.
 Die ersten 128 Zeichen entsprechen dem ASCII-Code.
 ... codiert Buchstaben und Zahlen von 0 bis 255.
Einführung in Python, 07.07.09
Seite 19
Codierung in der Python-Datei
# -*- coding: iso-8859-1 -*-
 Ab Python 3.0 wird standardmäßig UTF-8 genutzt. Ältere
Versionen nutzen ASCII.
 Am Anfang des Moduls kann eine Kommentarzeile mit der
gewünschten Codierung gesetzt werden.
Einführung in Python, 07.07.09
Seite 20
Datei schließen
datei = open("messung.dat")
...
datei.close()
 Nach dem Schließen der Datei
 ... ist ein Zugriff nicht mehr möglich.
 ... enthält die Variable einen ungültigen Verweis.
 Daten aus dem Zwischenspeicher werden in die zu schließende
Datei übernommen.
Einführung in Python, 07.07.09
Seite 21
Beispiel
datei = open("messung.dat", encoding="latin-1")
# Ist die Datei geöffnet...
if not(datei.closed):
...
datei.close()
else:
print("Die Datei ist nicht geöffnet.")
Einführung in Python, 07.07.09
Seite 22
Cursorposition in einer Datei
Datei (Zum Schreiben und / oder Lesen geöffnet)
'
J
A
N
'
•••
\n
•••
eof
Cursorposition nach dem Öffnen einer Datei mit
dem Modus "r" und "w"
Datei (Zum Hinzufügen geöffnet)
'
J
A
N
'
•••
\n
•••
eof
Cursorposition nach dem Öffnen einer Datei
mit dem Modus "a"
Einführung in Python, 07.07.09
Seite 23
Cursorposition lesen
>>> datei.tell()
962
 tell() gibt die aktuelle Cursorposition als Ganzzahl zurück.
 Falls UNIX-Zeilenumbrüche genutzt werden, kann das
Programm unter Windows eine falsche Position zurückliefern.
Einführung in Python, 07.07.09
Seite 24
Cursorposition setzen
 seek(pos, modus) setzt den Cursor eine bestimmte Anzahl
von Bytes weiter.
 Der zweite Parameter gibt Auskunft darüber, wie der Cursor in
Abhängigkeit der aktuellen Position gesetzt wird. In einer
Textdatei wird der Cursor immer relativ zum Anfang der Datei
gesetzt.
Einführung in Python, 07.07.09
Seite 25
Beispiel
anzahlZeichen = 2
pos = 0
messwert ='00'
datei = open("messung.dat")
while messwert != "":
...
pos = pos + anzahlZeichen + 1
datei.seek(pos)
datei.close()
Einführung in Python, 07.07.09
Seite 26
Datei zeilenweise einlesen
klima = {}
datei = open("klima.csv", "r")
for zeile in datei:
zeile = zeile.strip()
wort = zeile.split(" ")
if not (wort[0] in klima):
regen = float(wort[2])
temperatur = float(wort[1])
klima[wort[0]] = (temperatur, regen)
datei.close()
Einführung in Python, 07.07.09
Seite 27
Methoden zum Lesen einer Datei
Methode
Beschreibung
read(bytes)
Von der aktuellen Cursorposition werden n Bytes
Zeichen gelesen. Falls die Klammer leer ist, wird die
gesamte Datei eingelesen.
Die gesamte Datei wird eingelesen. Es wird eine
Liste mit allen Zeilen zurückgegeben.
Ab der aktuellen Cursorposition wird die Zeile
vollständig ausgelesen. Anschließend befindet sich
der Cursor am Anfang der nächsten Zeile.
readlines()
readline()
Einführung in Python, 07.07.09
Seite 28
n Zeichen einlesen
anzahlZeichen = 2
pos = 0
messwert ='00'
datei = open("messung.dat", encoding="latin-1")
while messwert != "":
messwert = datei.read(anzahlZeichen)
pos = pos + anzahlZeichen + 1
datei.seek(pos)
datei.close()
Einführung in Python, 07.07.09
Seite 29
n Zeilen einlesen
klima = {}
datei = open("klima.csv", "r")
zeile = datei.readline()
# E(nd)O(f)F(ile) = leere Zeile
while zeile != "":
zeile = zeile.strip()
wort = zeile.split(" ")
if not (wort[0] in klima):
regen = float(wort[2])
temperatur = float(wort[1])
klima[wort[0]] = (temperatur, regen)
zeile = datei.readline()
Einführung in Python, 07.07.09
Seite 30
Alle Zeilen einlesen
allZeilen = ()
datei = open("tucholsky.txt")
if not(datei.closed):
allZeilen = datei.readlines()
datei.close()
Einführung in Python, 07.07.09
Seite 31
Fehler abfangen
allZeilen = ()
datei = None
try:
datei = open("tucholsky.txt")
allZeilen = datei.readlines()
print(allZeilen)
except (IOError, OSError) as ioErr:
print(ioErr)
finally:
if datei is not None:
datei.close()
Einführung in Python, 07.07.09
Seite 32
In die Datei schreiben
Methode
Beschreibung
write(text)
... schreibt einen String in die Datei. Es
wird die Anzahl der geschriebenen
Zeichen zurückgeliefert.
Ab der aktuellen Cursorposition wird eine
bestimmte Anzahl von Zeilen geschrieben.
writelines(sequenz)
Einführung in Python, 07.07.09
Seite 33
Zeilenweise Text in die Datei schreiben
regen = []
monat = ("Januar", "Februar", "März", "April")
...
dateiWrite = open("regen.csv", "w")
zaehler = 0
for element in monat:
strAusgabe = "{0}\t\tRegen: {1}\n"
.format(element, str(regen[zaehler]))
zaehler = zaehler + 1
dateiWrite.write(strAusgabe)
dateiWrite.close()
Einführung in Python, 07.07.09
Seite 34
Liste von Textzeilen in die Datei schreiben
regen = []
...
dateiWrite = open("regenZeile.csv", "w")
dateiWrite.writelines(regen)
dateiWrite.close()
Einführung in Python, 07.07.09
Seite 35
Das Modul sys
 ... bietet Attribute, die Informationen über das
Laufzeitsystem enthalten.
 ... bietet eine Schnittstelle zwischen dem PythonInterpreter und dem Laufzeitsystem an.
 ... definiert folgende Schnittstellen:
 sys.stdin für die Standardeingabe (Tastatur).
 sys.stdout für die Standardausgabe (Bildschirm).
 sys.stderr für die Standardfehlerausgabe
(Bildschirm).
Einführung in Python, 07.07.09
Seite 36
Informationen zur Laufzeitumgebung
>>> import sys
>>> print("Plattform: ", sys.platform)
Plattform: win32
>>> print("Python-Version: ", sys.version)
Python-Version: 3.0.1 (
r301:69561, Feb 13 2009, 20:04:18)
[MSC v.1500 32 bit (Intel)]
>>> print("Bezeichnung: ", sys.version_info)
Spezifikation der Version: (3, 0, 1, 'final', 0)
Einführung in Python, 07.07.09
Seite 37
In welchen Ordnern werden Module gesucht?
 Das Modul sys enthält Informationen zu der
Laufzeitumgebung von Python bereit.
 Die Methode sys.path liefert eine Liste mit allen Pfaden
zurück, die Python nach Dateien durchsucht.
 Mit Hilfe von sys.path.append("Pfad") wird ein Pfad für
die Dauer einer Sitzung eingebunden.
Einführung in Python, 07.07.09
Seite 38
Programm beenden
while zeichen != 'q':
if not(zeichen.isalpha()):
messwert.append(float(zeichen))
else:
sys.exit("Falsche Eingabe")
Der Funktion wird
die Fehlermeldung
übergeben.
Einführung in Python, 07.07.09
Seite 39
Das Modul os
 ... ist eine Schnittstelle zum Betriebssystem.
 ... kontrolliert und verwaltet Daten, Arbeitsspeicher, Prozessor
etc.
 ... bietet Methoden für
 ... das Anlegen neuer Dateien und Verzeichnisse.
 ... das Löschen von Dateien und Verzeichnissen (Ordner).
 ... das Suchen nach Dateien und Verzeichnissen (Ordner).
 ... das Abfragen von Attributen (Datum des Zugriffs etc.) von
Dateien und Verzeichnissen.
Einführung in Python, 07.07.09
Seite 40
Attribute für alle Betriebssysteme
 name: Kürzel für das verwendete Betriebssystem.
 curdir gibt das aktuelle Verzeichnis (Windows ".") zurück.
 pardir gibt das Elternverzeichnis (Windows "..") zurück.
 defpath gibt den Ordner zurück, in dem ausführbare Dateien




gesucht werden.
sep gibt den Separator zwischen den verschiedenen
Bestandteilen eines Pfades zurück.
extsep gibt das Trennzeichen zwischen Dateinamen und
Dateiendung zurück.
pathsep gibt das Trennzeichen zurück, welches die
verschiedenen Elemente in der Systemvariablen PATH trennt.
linesep gibt mögliche Zeichen für den Zeilenumbruch zurück.
Einführung in Python, 07.07.09
Seite 41
Arbeitsverzeichnis anzeigen und ändern
# Pfad ändern
>>> os.chdir(
"C:\Dokumente und Einstellungen\
Eigene Dateien\python")
# Pfad anzeigen
>>> pfad = os.getcwd()
>>> pfad.split(os.sep)
['C:', 'Dokumente und Einstellungen',
'Eigene Dateien', 'python']
# Elemente im Arbeitsverzeichnis
>>> os.listdir(pfad)
['klima.csv', 'klimaZeileRead.py']
Einführung in Python, 07.07.09
Seite 42
Arbeiten mit Ordnern (Verzeichnis)
 mkdir(pfad) erzeugt ein Verzeichnis im angegebenen Pfad.
 makedirs(pfad) erzeugt ein neues Verzeichnis und alle nicht
vorhandenen Verzeichnisse, die im Pfad angegeben sind.
 rmdir(pfad) löscht das leere Verzeichnis.
 removedirs(pfad) löscht alle leeren Verzeichnisse, die in der
Pfadangabe vorhanden sind.
 Mit Hilfe von path.exists(pfad) kann überprüft werden, ob
ein Pfad vorhanden ist oder nicht.
Einführung in Python, 07.07.09
Seite 43
Arbeiten mit Dateien
 remove(pfad) löscht die Datei.
 rename[old, new] benennt Dateien und Verzeichnisse um.
 renames[old, new] benennt Dateien und Verzeichnisse um.
Verzeichnisse, die im Pfad vorkommen und nicht vorhanden
sind, werden angelegt.
Einführung in Python, 07.07.09
Seite 44
Reguläre Ausdrücke
 ... filtern Text nach bestimmten Mustern.
 ... suchen und ersetzen Text mit Hilfe von bestimmten
Suchmustern.
 ... überprüfen einen Text auf seine Gültigkeit.
 ... entsprechen den Textausdrücken:
 Suche die Zeichenfolge abc am Anfang des Textes.
 Gebe alle Wörter zurück, die dem Muster 123 entsprechen.
 ... benötigen das Modul re. Das Modul ist in der
Standardinstallation von Python vorhanden. Das Modul wird auf
der Webseite
http://docs.python.org/3.1/library/re.html#module-re
beschrieben.
Einführung in Python, 07.07.09
Seite 45
Suchmuster nutzen
Suchmuster
Erläuterung / Beispiele
"Meier"
"Me.er"
"Meier"
"Meier", "Meyer", "Me3er"
Punkt: beliebiges Zeichen
"Fisch?"
"Fisch", "Fische"
Fragezeichen: Ein Zeichen oder keins
"M[a-e]ier"
"Maier", "Meyer", "Meder"
[a-e]: Alle Buchstaben von a bis e
"M[a-e]ier"
"Maier", "Meyer", "Meder"
[a-e]: Alle Buchstaben von a bis e
"Me[iy]er"
"Meyer", "Meier"
[iy]: Nur die angegebenen Zeichen
"[a-zA-Z][a-zA-Z]-30159" Klein- und Großbuchstaben zulassen
Einführung in Python, 07.07.09
Seite 46
Wiederholungen und Platzhalter
Suchmuster
Erläuterung / Beispiele
"123-[0-1]*"
"123-00", "123-1", "123-"
Sternchen: Keine oder eine beliebige Anzahl
von Wiederholung
"123-00", "123-1"
Sternchen: Mindestens einmal wird das
Zeichen gesetzt
\w: Klein- oder Großbuchstaben, Zahlen und
der Unterstrich
\d:Zahlen von 0 bis 9
Sonderzeichen wie Punkt etc. werden durch
den Backslash maskiert
"123-[0-1]+"
"\w\w-\d\d\d\d\d"
"\w\w\.\d\d"
Einführung in Python, 07.07.09
Seite 47
Muster für E-Mail-Adressen
'\w+@\w*\.?uni-hannover\.de'
 \w ist ein Platzhalter für Klein- und Großbuchstaben von A bis Z




sowie der Unterstrich.
Das Pluszeichen ersetzt eine beliebige Anzahl von Zeichen. Es
muss mindestens ein Zeichen gesetzt sein.
Das Sternchen ersetzt auch eine beliebige Anzahl von Zeichen.
Die Zeichen können weggelassen werden.
\. maskiert den Punkt.
? bezieht sich auf das vorherige maskierte Zeichen. Der Punkt
kann einmal vorkommen, muss aber nicht.
Einführung in Python, 07.07.09
Seite 48
Muster für Postleitzahlen
'D-(?=\d{5})'
 Die Postleitzahl beginnt mit dem Länderkürzel D-.
 ?= bedeutet "wird gefolgt von..."
 Dem Länderkürzel folgt eine Zahl (\d). Diese Zahl wird 5-mal {5}
wiederholt.
 Durch die runden Klammern wird die Postleitzahl als Gruppe
zusammengefasst.
Einführung in Python, 07.07.09
Seite 49
Texte suchen
'Fähre|Boot|Segelschiff'
(Kreuzfahrts|Segel)schiff|Fähre|Boot
 Mit Hilfe des geraden Strichs wird ein Oder zwischen die
Begriffe gesetzt.
Einführung in Python, 07.07.09
Seite 50
Arbeiten mit regulären Ausdrücken
 Voraussetzung: Import des Moduls re mit Hilfe der Anweisung
import re.
 Kompilieren des Suchstrings:
pattern = re.compile("muster")
 Suchen des Musters:
treffer = pattern.search("text")
 Ausgabe oder Weiterverarbeitung der Treffer-Liste.
Einführung in Python, 07.07.09
Seite 51
Muster kompilieren
import re
ort = "Hannover"
anschrift = "D-30159 Hannover"
pattern = re.compile('D-\d\d\d\d\d')
 Das Modul re wird importiert.
 Mit Hilfe der Methode compile wird ein regulärer Ausdruck
erzeugt.
 Der Methode wird als Parameter
 ... das Suchmuster als String übergeben.
 ... optional IGNORECASE übergeben. Die Groß- und
Kleinschreibung des Wortes wird nicht beachtet.
Einführung in Python, 07.07.09
Seite 52
Muster suchen
import re
anschrift = "D-30159 Hannover"
patternPLZ = re.compile('D-\d\d\d\d\d')
matchFound = patternPLZ.search(anschrift)
 Mit Hilfe der Methode search wird ein Wort nach dem Muster
durchsucht.
 Der Methode wird der zu durchsuchende Text übergeben.
 Die Methode gibt den ersten Treffer als Match-Objekt zurück.
Falls das Suchmuster nicht gefunden wird, wird None
zurückgegeben.
Einführung in Python, 07.07.09
Seite 53
Muster am Anfang eines Strings suchen
import re
patternPLZ = re.compile('d{5}')
if patternPLZ.match(anschrift):
ort = patternPLZ.sub("", anschrift)
print("Match:", ort)
else:
print("Match:", "Nicht vorhanden")
 Mit Hilfe der Methode match wird ein Wort nach dem Muster
durchsucht.
 Falls das Muster am Anfang vorhanden ist, wird ein MatchObjekt geliefert und andernfalls None.
Einführung in Python, 07.07.09
Seite 54
Informationen zu den Fundstellen
found = patternPLZ.search(anschrift)
while found is not None:
# Beginn der Fundstelle
print("Start: ", found.start())
# Ende der Fundstelle
print("Ende: ", found.end())
# Was wurde gefunden?
print("Gefunden; ", found.group(1))
# Teilstrings der Fundstelle von 0 bis n
pos = found.start() + len(found.group())
found = patternPLZ.search(anschrift, pos)
Einführung in Python, 07.07.09
Seite 55
Alle Textstellen in eine Liste schreiben
patternMail = re.compile('\w+@\w*\.?
uni-hannover\.de')
adressen = "[email protected],
[email protected]"
allEMail = ()
allEMail = patternMail.findall(adressen)
 Die Methode findall gibt eine Liste mit allen Fundstellen
zurück.
 Der Methode wird der zu durchsuchende Text übergeben.
Einführung in Python, 07.07.09
Seite 56
Muster suchen und ersetzen
import re
if patternPLZ.match(anschrift):
ort = patternPLZ.sub("", anschrift)
print(ort)
 Die Methode sub ersetzt das Suchmuster in einem Text durch
einen anderen String.
 Der erste Parameter enthält den Ersetzungstext.
 Der zweite Parameter den zu durchsuchenden Text.
 Es wird der Text mit den Ersetzungen zurückgegeben.
Einführung in Python, 07.07.09
Seite 57
Herunterladen