Python: Ein einfaches Gästebuchvon Kai Surendorf You are welcome! Fast jede Website hat(te) eines. In diesem Artikel wird ein einfaches Gästebuch-Script realisiert. Nebenbei lernt der Programmierfreund noch so einiges über Datei-Manipulationen mit Python. Von Listen und Dateien
wird die entsprechende Datei geöffnet. Das 'r' steht hierbei für read-only, ein 'w' würde für write stehen und zeitgleich (!) den bisherigen Inhalt der Datei löschen und ein 'a' stände für append und würde eventuelle Eingaben an den bisherigen Inhalt anhängen. Bei Text-Dateien, wie sie bei dem Gästebuch-Script auch Verwendung finden werden, sind die Zeilenumbrüche von Relevanz. Aus der bereits geöffneten Datei ließe sich mit ergebnis = datei.readline () die erste Zeile auslesen. Würde ergebnis = datei.readline () erneut ausgeführt, würde die zweite Zeile eingelesen. Mit ergebnis = datei.readlines () ließe sich der gesamte Inhalt der Datei auslesen. In diesem Fall wäre die Variable ergebnis eine Liste und mit ergebnis[1] würde die erste Zeile angesprochen, mit ergebnis[5] die fünfte Zeile, da die Zeilen nun die entsprechenden Felder der Liste darstellen. Möchte man die gesamte Text-Datei in eine String-Variable einlesen, um vielleicht gleich Zugriff auf eine komplette Textvorlage zu haben, so lässt sich dies mit ergebnis = datei.read () realisieren. Alle drei Funktionsweisen haben ihre eigene Berechtigung. Das Verfahren mit einzelnen Zeilen ist beizeiten sinnvoll, wenn man eine sehr lange Datei im Rahmen einer Stapelverarbeitung abarbeiten, diese aber nicht komplett im Arbeitsspeicher halten möchte. Die gesamte Datei als Liste einzulesen, kann die Geschwindigkeit des Scripts enorm erhöhen, da Zeit raubende Festplattenzugriffe vermieden werden. Um in eine Datei etwas hineinzuschreiben, gibt es die write-Funktion, deren Wirkung abhängig davon ist, in welchem Modus die Datei geöffnet wurde. datei.write ('Ein kleiner Eintrag') würde bei einer im append-Modus geöffneten Datei die Zeile Ein kleiner Eintrag am Ende der Datei hinzufügen. Dateien schließen lassen sich mit dem Befehl close. datei.close () würde
die geöffnete Datei wieder schließen. Das Schließen der Datei ist
wichtig, da auf eine offen gelassene Datei eventuell nicht mehr
zugegriffen werden kann. Das Script könnte folgendermaßen aussehen: Das Script übernimmt in bekannter Form die Werte, die der Absender eingegeben hat und bastelt daraus einen entsprechenden Eintrag. Anschließend wird die Text-Datei, in der die Einträge gespeichert werden, geöffnet, der generierte HTML-Code angehängt, und die Datei wieder geschlossen. Die letzte Zeile leitet den Besucher wieder auf das Gästebuch um, wo sich jetzt sein Eintrag finden müsste. Die Einträge lassen sich an entsprechender Stelle des Gästebuches mit einem Server-Side-Include, etwa
einbinden. Etwas unerfreulich an diesem Beispiel ist, dass neue Einträge immer am Ende erscheinen und nicht am Anfang. Abhilfe schafft hier ein eigenes kleines Script, das für die Anzeige der Einträge zuständig ist. Folgendes Script ließe sich statt der Text-Datei als SSI aufrufen:
Hierbei werden die Daten von gaestebuch.txt in die Liste eintraege eingelesen. Mit eintraege.reverse () wird die Reihenfolge in dieser Liste umgekehrt, die neueren Einträge stehen nun also zuerst.
|
| ||||||
|
|
Partner: Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere |