Python - HTML-Generator, Teil 1

Inhaltsverzeichnis
Stellen wir uns vor, wir haben eine Reihe von vorgefertigten Dokumenten, die wir im Internet veröffentlichen möchten. Das Ideal wäre, sie in herunterladbare Dateien umzuwandeln und der Fall wäre gelöst, aber was ist, wenn wir dies nicht möchten? herunterladbar und nur auf Webseiten sichtbar, dann sollten wir erstellen HTML-Dokumente dazu kann es allerdings Kopfzerbrechen bereiten, die notwendigen Labels von Hand zu generieren.
Angesichts der Situation ist es ideal, ein Programm zu erstellen, das es uns ermöglicht, diese Einschränkungen zu lösen, dafür haben wir Python und dank der verschiedenen Tools für die Textverarbeitung können wir die Lösung entwickeln, die uns diese Aufgabe ermöglicht.
Bedingungen
Um ein Problem zu lösen, müssen wir zuerst festlegen Bedingungen die es uns ermöglichen zu wissen, was zu tun ist, für dieses spezielle Projekt werden wir Folgendes festlegen:
  • Der Text darf keine Art von enthalten Code oder Etiketten.
  • Sie müssen unterscheiden können zwischen Titel, Absätze und Listen, ebenso gut wie markierter Text Ja URLs.
  • Es sollte robust genug sein, um auf andere Auszeichnungssprachen als die angewendet zu werden HTML.
Wie wir sehen, handelt es sich um breite, aber nicht unmögliche Bedingungen. Bei der ersten Implementierung werden jedoch möglicherweise nicht alle erreicht, da dafür mehrere Prototypen erstellt werden müssen.
Zu verwendende Werkzeuge
Um die vorgeschlagenen Ziele zu erreichen, müssen wir definieren, welche Tools wir verwenden müssen, in diesem Fall können wir die Standardeingabebibliothek verwenden sys.stdin und für den Ausgang wird es reichen drucken, alles andere funktioniert mit verschiedenen Techniken, die wir in den Beispielen sehen werden.
Start
Da wir wissen, was wir brauchen und wir unsere Ziele festgelegt haben, müssen wir nur einen Weg haben, unseren Erfolg zu messen und dafür ist es notwendig, dass wir ein Dokument erstellen, mit dem wir unsere Seiten generieren können wird in der folgenden Abbildung ein Beispieldokument sehen, jedoch ist jeder Text ausreichend, solange er mehrere Absätze hat:

Erste Iteration
Im erste Iteration Wir müssen die Absätze unterteilen, in diesem Fall nennen wir sie Blöcke. Wir wissen, dass diese Blöcke durch eine oder mehrere Leerzeilen getrennt sind, also werden wir diese Zeilen zunächst als Trennzeichen verwenden.
Der folgende Code sammelt die gefundenen Zeilen, bis er eine leere Zeile findet, und geht dann die Datei durch, bis wir eine weitere Textgruppe finden.
Mal sehen, wie der Code aussieht:
 def Zeilen (Datei): für Zeile in Datei: Ertragszeile Ertrag '\ n' def Blöcke (Datei): Block = [] für Zeile in Zeilen (Datei): if line.strip (): block.append (line) elif block: yield '' .join (block) .strip() block = [] 

Der obige Code wird in einer Datei namens . gespeichert util.py, dann müssen wir die verschiedenen Tags in unser resultierendes HTML-Dokument einbinden, dazu generieren wir eine weitere Datei mit folgendem Code:
 from __future__ import generators import sys, re from util import * print '…' title = 1 für block in blocks (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', block) if title: print' 'title = 0 else: print'

'Blockdruck drucken'

'drucken' '

Wie wir sehen, verwenden wir die Methode Blöcke () und wir übergeben Ihnen die Eingabedatei dank der Bibliothek sys.stdin. Die Datei sollte heißen simple_markup.py und wir führen es wie folgt aus:
$ python simple_markup.py test_output.html

Wie wir sehen, übergeben wir ihr die anfängliche Textdatei und den Namen, den die Ausgabe enthalten muss, und sie sollte so aussehen:

Nach Abschluss der ersten Iteration beenden wir dieses Tutorial, im zweiten Teil werden wir diese Konzepte sowie die zweite Iteration für dieses Programm weiter vertiefen.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave