|
Informatik Sek II |
Objektorientiertes Programmieren Python |
LFB.-Kurs W. Arnhold |
| [ Übersicht | vorige Seite | nächste Seite | Ganz unten ] |
|
Python - Syntax Dateibearbeitung I |
|---|---|
Aus Dateien lesenEine Datei ist ein Bytestrom (also eine Folge von einzelnen Bytes wie Perlen auf einer Kette). Er ist mit einem Namen verknüpft und wird vom Betriebssystem im Dateibaum aufgehoben. Programme können beim Betriebssystem Zugriff darauf verlangen, um den Bytestrom zu lesen oder zu verändern. Solche Programme sind z.B. Editoren oder auch der Python-Interpreter, wenn er unsere Scripts liest, um sie abzuarbeiten. Was andere können, können wir schon lange! Das Bearbeiten von Dateien ist recht einfach, gliedert es sich doch in nur drei Schritte:
Hinein ins Praktische. Am besten öffnet man zuerst einmal eine Datei zum Lesen. Am Besten eine, die es schon gibt, z.B. diese.
diese = open("dateien1.py", "r")
Das öffnet die Datei "dateien1.py" zum Lesen ("r"ead). Über das Dateiobjekt "diese" kommen wir nun an alles ran. Nun Lesen. Zuerst zeichenweise:
while 1:
zeichen = diese.read(1)
Aus der Datei ein Byte lesen und in "zeichen" ablegen. Das klappt nur, wenn noch ein Zeichen da war, die Datei also nicht am Ende. Ansonsten hat "zeichen" den Wert "" und der steht für "falsch". Darauf basiert die Abfrage:
if not zeichen:
break # Raus aus der Schleife
andernfalls ausgeben (ohne Zeilenwechsel, deswegen das Komma).
print zeichen,
Am Schluss noch die Datei schließen. diese.close()
In Dateien schreibenBeispiel: Wir fertigen eine Kopie unserer Datei an.
diese = open("dateien1.py", "r")
kopie = open("dateien1.kopie", "w")
Wir öffnen eine zweite Datei mit dem Namen "dateien1.kopie"
zum Schreiben ("w"rite).
Wenn sie noch nicht existiert, wird sie neu angelegt.
Ansonsten wird eine bestehende Datei überschrieben. Nun die gleiche
Schleife wie vorher, nur dass nicht auf den Bildschirm (mit print)
geschrieben wird, sondern in die neue Datei.
while 1:
zeichen = diese.read(1)
if not zeichen:
break
kopie.write(zeichen)
diese.close()
kopie.close()
print 'Kopie erstellt. Bitte mit Editor ansehen unter "dateien1.kopie"'
|
|
| [ Übersicht | vorige Seite | nächste Seite | Ganz oben ] |
|
© W. Arnhold Oktober 2000 |