Python: Gültiger HTML-Code mit "regular expressions"von Kai Surendorf Hier dreht sich alles um die so genannten "regular expressions". Die sind zwar mächtig, aber ein hervorragendes Werkzeug, um gültigen HTML-Code zu erzeugen. Eine Funktion für gültigen Code Gerade bei größeren Projekten ist es nützlich, wenn wiederkehrende Abläufe nicht jedes Mal neu eingefügt, sondern in einer Funktion eingekapselt werden. Python bietet neben den classes functions, die etwas einfacher zu nutzen sind. Eine function wird mit def name (variablen): deklariert. Um die function aufrufen zu können, braucht sie natürlich einen eindeutigen Namen. Auch will man, dass an die function etwas übergeben werden kann, das sie manipuliert. Diese Variablen werden in den Klammern angegeben. Für diese Variablen gilt, dass sie innerhalb der function mit dem Namen angesprochen werden, den Sie in den Klammern definiert haben und nicht mit dem, den Sie sonst im Programm verwenden. Mit einem Doppelpunkt wird die Deklaration beendet. In den Folgezeilen gilt, dass jede Zeile zur Funktion gehört, die mit mindestens einem Tabulator eingerückt ist. Sobald wieder eine Programmzeile ganz am linken Rand ohne Einrückung beginnt, endet die function. Aufrufen können Sie eine function ganz einfach, indem Sie deren Namen an entsprechender Stelle einfügen. Wollen Sie also, dass der in einer String-Variable enthaltene Text in gültigen HTML-Code umgewandelt wird, so übergeben Sie die Variable an die function vielleicht mit ergebnis = html_erzeugen (zu_modifizierendes). Die Funktion manipuliert die Variable und schreibt das Ergebnis in diese zurück. Die Funktion html_erzeugen Der Code:
Beispiel für die zugehörige Glossar-Datei:
Nach diesen Vorarbeiten gilt es, die Liste abzuarbeiten. Dies erfolgt mit Hilfe einer For_Next Schleife, die so oft durchlaufen wird, wie die Liste glossar Einträge hat. Die Länge der Liste können Sie mit dem Befehl len() Wir erzeugen die Variable aktuell, die den aktuellen Eintrag von glossar enthält [aktuell = glossar [i]]. Diese teilen wir mit Hilfe einer regular expression Funktion auf in das, was vor dem Komma steht, und das, wodurch ersteres ersetzt werden soll und hinter dem Komma steht [temp = re.split (',', aktuell)]. temp ist jetzt eine Liste mit zwei Einträgen. temp[0] enthält, was vor dem Komma stand, temp[1], das hinter dem Komma befindliche. Bei temp[1] muss noch der Zeilenumbruch (\n) entfernt werden. Er stammt noch aus der Text-Datei, wird mit ausgelesen und kann beim Ersetzungsvorgang eventuell für Probleme sorgen. Nun kann der eigentliche Ersetzungsvorgang erfolgen [message = re.sub (temp[0], temp[1], message)]. Die Variable message enthält nun den vorhergehenden Inhalt, wobei zum Beispiel das ü durch ü ersetzt wurde. Nun wird die Schleife erneut durchlaufen, wobei der zweite Eintrag der Liste ersetzt wird, aus dem ä also ä wird. Sind alle Ersetzungen durchgeführt, muss abschließend das Ergebnis, das in der Variable message vorliegt, zurückgegeben werden. Dies leistet der Befehl return. Dieses Verfahren lässt sich natürlich nicht nur für Umlaute verwenden, auch für sonstige Begriff oder Wörter. Um einen Schutz vor unerwünschten Begrifflichkeiten zu gewährleisten, lässt sich die Glossar-Datei natürlich beliebig erweitern.
|
| ||||||
|
|
Partner: Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere |