Python - Generatore HTML, parte 1

Sommario
Immaginiamo di avere una serie di documenti già pronti che abbiamo deciso di pubblicare sul web, l'ideale sarebbe convertirli in file scaricabili e il caso sarebbe risolto, ma cosa succede se non li vogliamo scaricabile e visibile solo sulle pagine web, quindi dovremmo creare Documenti HTML per fare ciò, tuttavia, generare manualmente le etichette necessarie può essere un grattacapo.
Data la situazione, l'ideale è generare un programma che ci permetta di risolvere queste limitazioni, per questo abbiamo Pitone e grazie ai suoi diversi strumenti per l'elaborazione di testi possiamo costruire la soluzione che ci permetterà di fare questo compito.
Termini
Per risolvere un problema dobbiamo prima stabilire termini che ci permettono di sapere cosa fare, per questo particolare progetto stabiliremo quanto segue:
  • Il testo non dovrebbe essere tenuto a contenere alcun tipo di codice o etichette.
  • Devi essere in grado di distinguere tra titoli, paragrafi ed elenchi, così come testo evidenziatoURL.
  • Dovrebbe essere abbastanza robusto da essere applicato ad altri linguaggi di markup diversi dal HTML.
Come possiamo vedere, sono condizioni ampie ma non impossibili, tuttavia, nella prima implementazione, forse non tutte saranno raggiunte, poiché per questo dobbiamo realizzare diversi prototipi.
Strumenti da usare
Per raggiungere gli obiettivi proposti dobbiamo definire quali strumenti dobbiamo utilizzare, in questo caso possiamo prendere la libreria di input standard sys.stdin e per l'uscita basterà Stampa, tutto il resto funziona con tecniche diverse che vedremo negli esempi.
Cominciare
Poiché sappiamo di cosa abbiamo bisogno e abbiamo stabilito i nostri obiettivi, dobbiamo solo avere un modo per misurare il nostro successo e per questo è necessario creare un documento con il quale possiamo generare le nostre pagine, nel caso di questo tutorial vedrà un documento di esempio nell'immagine seguente, tuttavia qualsiasi testo andrà bene purché abbia diversi paragrafi:

Prima iterazione
Nel prima iterazione Dobbiamo dividere i paragrafi, in questo caso li chiameremo blocchi, sappiamo che questi blocchi sono separati da una o più righe vuote, quindi il nostro primo passo sarà prendere queste righe come separatori.
Quello che farà il codice seguente è raccogliere le righe che trova finché non trova una riga vuota, quindi continuerà a scorrere il file finché non troveremo un altro gruppo di testo.
Vediamo come si presenta il codice:
 def righe (file): for line in file: yield line yield '\ n' def blocks (file): block = [] for line in lines (file): if line.strip(): block.append (line) elif blocco: resa '' .join (blocco) .strip () blocco = [] 

Il codice sopra verrà salvato in un file chiamato util.py, quindi dobbiamo incorporare i diversi tag nel nostro documento HTML risultante, per questo genereremo un altro file con il seguente codice:
 from __future__ import generators import sys, re from util import * print '…' title = 1 per blocco in blocchi (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', block) if title: print' 'title = 0 else: print'

'stampa blocco stampa'

'stampa' '

Come si vede usiamo il metodo blocchi () e ti passiamo il file di input grazie alla libreria sys.stdin. Il file dovrebbe essere chiamato markup_semplice.py e lo eseguiamo nel modo seguente:
$ python simple_markup.py test_output.html

Come possiamo vedere, gli passiamo il file di testo iniziale e gli passiamo il nome che l'output deve contenere e dovrebbe assomigliare a questo:

Terminata la prima iterazione, terminiamo questo tutorial, nella seconda parte continueremo a vedere questi concetti in modo più approfondito, così come la seconda iterazione per questo programma.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave