Python - HTML -generator, del 1

Innholdsfortegnelse
La oss forestille oss at vi har en rekke ferdige dokumenter som vi har bestemt oss for å publisere på nettet, det ideelle ville være å konvertere dem til nedlastbare filer og saken ville bli løst, men hva om vi ikke vil at de skal være nedlastbar og bare synlig på nettsider, så bør vi lage HTML -dokumenter For å gjøre dette kan det imidlertid være hodepine å generere de nødvendige etikettene for hånd.
Gitt situasjonen, er det ideelle å lage et program som lar oss løse disse begrensningene, for dette har vi Python og takket være de forskjellige verktøyene for tekstbehandling kan vi bygge løsningen som lar oss gjøre denne oppgaven.
Vilkår
For å løse et problem må vi først etablere vilkår som lar oss vite hva vi skal gjøre, for dette prosjektet vil vi etablere følgende:
  • Teksten skal ikke være nødvendig for å inneholde noen form for kode eller etiketter.
  • Du må kunne skille mellom titler, avsnitt og lister, i tillegg til markert tekst Y URLer.
  • Den skal være robust nok til å bli brukt på andre kodespråk enn HTML.
Som vi kan se, er de brede, men ikke umulige forhold, men i den første implementeringen vil kanskje ikke alle oppnås, siden vi må lage flere prototyper for dette.
Verktøy å bruke
For å nå de foreslåtte målene må vi definere hvilke verktøy vi må bruke, i dette tilfellet kan vi ta standard input -bibliotek sys.stdin og for utgangen vil det være nok skrive ut, alt annet fungerer med forskjellige teknikker som vi vil se i eksemplene.
Start
Siden vi vet hva vi trenger og vi har etablert våre mål, trenger vi bare å ha en måte å måle suksessen vår på, og for dette er det nødvendig at vi lager et dokument som vi kan generere sidene våre med, i tilfelle av denne opplæringen vil se et eksempeldokument i det følgende bildet, men all tekst vil gjøre så lenge den har flere avsnitt:

Første iterasjon
I første iterasjon Vi må dele avsnittene, i dette tilfellet vil vi kalle dem blokker, vi vet at disse blokkene er atskilt med en eller flere blanke linjer, så vårt første trinn vil være å ta disse linjene som separatorer.
Hva følgende kode vil gjøre er å samle linjene den finner til den finner en tom linje, så fortsetter den gjennom filen til vi finner en annen tekstgruppe.
La oss se hvordan koden ser ut:
 def lines (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 blokk: gi ''. bli med (blokk) .strip () blokk = [] 

Koden ovenfor blir lagret i en fil som heter util.py, så må vi innlemme de forskjellige taggene i det resulterende HTML -dokumentet, for dette vil vi generere en annen fil med følgende kode:
 fra __future__ importgeneratorer importer sys, re fra util import * print '…' title = 1 for blokk i blokker (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', block) if title: print' 'title = 0 else: print'

'print block print'

'skrive ut' '

Som vi ser bruker vi metoden blokker () og vi sender inndatafilen til deg takket være biblioteket sys.stdin. Filen skal kalles simple_markup.py og vi utfører det på følgende måte:
$ python simple_markup.py test_output.html

Som vi kan se, sender vi den opprinnelige tekstfilen til den, og vi sender den navnet som utgangen må inneholde, og den skal se slik ut:

Etter å ha fullført den første iterasjonen, avslutter vi denne opplæringen. I den andre delen av den vil vi fortsette å se disse konseptene mer grundig, så vel som den andre iterasjonen for dette programmet.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave