Python - HTML generator, 1. dio

Sadržaj
Zamislimo da imamo niz gotovih dokumenata koje smo odlučili objaviti na webu, idealno bi bilo pretvoriti ih u datoteke koje se mogu preuzeti i slučaj bi se riješio, ali što ako ne želimo da oni budu koji se mogu preuzeti i vidljivi samo na web stranicama, tada bismo trebali stvoriti HTML dokumenti međutim, da biste to učinili, ručno generiranje potrebnih naljepnica može biti glavobolja.
S obzirom na situaciju, idealno je generirati program koji nam omogućuje rješavanje ovih ograničenja, za to imamo Piton a zahvaljujući različitim alatima za obradu teksta možemo izgraditi rješenje koje će nam omogućiti da obavimo ovaj zadatak.
Pojmovi
Da bismo riješili problem, prvo moramo ustanoviti Pojmovi koji nam omogućuju da znamo što učiniti, za ovaj konkretni projekt ustanovit ćemo sljedeće:
  • Ne smije se zahtijevati da tekst sadrži bilo koju vrstu kodirati ili naljepnice.
  • Morate znati razlikovati naslovi, odlomci i popisi, kao i istaknuti tekst Y URL -ove.
  • Trebao bi biti dovoljno robustan da se može primijeniti na druge jezike označavanja osim HTML.
Kao što vidimo, to su široki, ali ne i nemogući uvjeti, međutim, u prvoj implementaciji možda neće svi biti postignuti, jer za to moramo napraviti nekoliko prototipova.
Alati za korištenje
Za postizanje predloženih ciljeva moramo definirati koje alate moramo koristiti, u ovom slučaju možemo uzeti standardnu ​​knjižnicu unosa sys.stdin a za izlaz će biti dovoljno ispisati, sve ostalo radi s različitim tehnikama koje ćemo vidjeti u primjerima.
Početak
Budući da znamo što nam treba i postavili smo svoje ciljeve, moramo imati samo jedan način mjerenja našeg uspjeha, a za to je potrebno da napravimo dokument s kojim možemo generirati naše stranice, u slučaju ovog vodiča vidjet će primjer dokumenta na sljedećoj slici, međutim svaki tekst će to učiniti sve dok ima nekoliko odlomaka:

Prva iteracija
U prva iteracija Moramo podijeliti odlomke, u ovom slučaju ćemo ih nazvati blokovima, znamo da su ti blokovi odvojeni jednim ili više praznih redaka, pa će naš prvi korak biti uzeti ove retke kao separatore.
Ono što će sljedeći kod učiniti je prikupljati retke koje pronađe sve dok ne pronađe prazan redak, a zatim će nastaviti pregledavati datoteku sve dok ne pronađemo drugu grupu teksta.
Pogledajmo kako kôd izgleda:
 def lines (file): za redak u datoteci: yield line yield '\ n' def blocks (file): block = [] for line in lines (file): if line.strip (): block.append (line) elif block: yield '' .join (block) .strip () block = [] 

Gornji kôd bit će spremljen u datoteku pod nazivom util.py, tada moramo uključiti različite oznake u naš rezultirajući HTML dokument, jer ćemo za to generirati drugu datoteku sa sljedećim kodom:
 iz __future__ generatora uvoza import sys, re iz uslužnog programa import * print '…' title = 1 za blok u blokovima (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', block) if title: print' 'title = 0 else: print'

'ispis blok ispisa'

"ispis"

Kao što vidimo, koristimo metodu blokovi () a mi vam ulaznu datoteku prosljeđujemo zahvaljujući knjižnici sys.stdin. Datoteka se mora pozvati simple_markup.py i izvršavamo ga na sljedeći način:
$ python simple_markup.py test_output.html

Kao što vidimo, prosljeđujemo početnu tekstualnu datoteku i prosljeđujemo joj naziv koji izlaz mora sadržavati i trebao bi izgledati ovako:

Završavajući prvu iteraciju, završavamo ovaj vodič, u drugom dijelu nastavit ćemo detaljnije vidjeti te koncepte, kao i drugu iteraciju za ovaj program.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave