326
Wörterbücher, Dateien und der alte Cäsar
Kapitel
12
kommst du dann drauf, dass Python dafür eine noch elegantere Lösung
parat hat. So ist das auch mit dem Umkehren von Dictionaries:
>
Mach mit:
>>> cc = {"a":"g", "b":"h", "c":"i", "d":"j"}
>>> dc = {wert : schluessel for (schluessel, wert) in
cc.items()}
>>> dc
{'i': 'c', 'h': 'b', 'j': 'd', 'g': 'a'}
Dictionary Comprehension nennt sich das. Ist ganz so gebaut wie List
Comprehensions. In Python ist es nämlich so wie im richtigen Leben: Du
lernst nie aus.
Dateien
Computer-Praktiker, die mit Python arbeiten, müssen verschiedenartigste
Textdateien bearbeiten. Bearbeitet werden können diese nur, wenn sie zu-
erst eingelesen werden, zum Beispiel von der Festplatte. Nach der Bearbei-
tung müssen sie auch wohin. Wenn sie nicht gerade übers Internet ver-
schickt werden, werden sie wahrscheinlich wieder auf einer Festplatte ge-
speichert.
Das kannst du jetzt auch brauchen – wenn auch nur spielerisch. Vielleicht
willst du einen Text, der in einer Datei gespeichert ist, verschlüsseln und in
verschlüsselter Form speichern? Daher möchte ich dir jetzt zeigen, wie du
mit Python Textdateien liest und schreibst.
Als Einleitung dazu eine Bemerkung über Dateinamen unter Windows, wo
der so genannte »backslash« Verzeichnisnamen voneinander trennt. (Unter
Linux und Mac OS X gibt es diese »backslashes« nicht. Die gewöhnlichen
»slashes« in den Dateinamen dort machen kein Problem.)
Ich habe eine Datei
probetext.txt
für dich im Verzeichnis
C:\py4kids\kap12
vorbereitet. Der volle Dateiname dieser Datei lautet
daher
C:\py4kids\kap12\probetext.txt
.
Dateinamen werden in Python naheliegenderweise mit Strings dargestellt.
Für Strings, die Dateinamen bezeichnen, kann man in Python aber auch
unter Windows gewöhnliche »slashes« verwenden. Python wird diese hinter
den Kulissen bei Bedarf automatisch in »backslashes« umwandeln. Das ist
sehr praktisch, . Erstens, weil man so nicht darauf Bedacht nehmen muss,
ob man unter Windows, Linux oder auf einem Mac programmiert. Und

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.