Питхон - ХТМЛ генератор, 1. део

Преглед садржаја
Замислимо да имамо низ готових докумената које смо одлучили да објавимо на вебу, идеално би било претворити их у датотеке које се могу преузети и случај би био решен, али шта ако не желимо да они буду који се могу преузети и видљиви само на веб страницама, онда бисмо требали креирати ХТМЛ документи међутим, да бисте то учинили, ручно генерисање неопходних ознака може бити главобоља.
С обзиром на ситуацију, идеално је генерисати програм који нам омогућава да решимо ова ограничења, за то имамо Питхон и захваљујући различитим алатима за обраду текста можемо изградити решење које ће нам омогућити да обавимо овај задатак.
Услови
Да бисмо решили проблем, прво морамо утврдити услови који нам омогућавају да знамо шта да радимо, за овај конкретни пројекат ћемо установити следеће:
  • Не би требало захтевати да текст садржи било коју врсту код или етикете.
  • Морате знати разликовати наслови, пасуси и спискови, добро као истакнути текст И УРЛ -ове.
  • Требало би да буде довољно робустан за примену на другим језицима за означавање осим ХТМЛ.
Као што видимо, то су широки, али не и немогући услови, међутим, у првој имплементацији можда неће сви бити постигнути, јер за то морамо направити неколико прототипова.
Алати за употребу
Да бисмо постигли предложене циљеве, морамо дефинирати које алате морамо користити, у овом случају можемо узети стандардну улазну библиотеку сис.стдин а за излаз ће бити довољно принт, све остало ради са различитим техникама које ћемо видети у примерима.
Почетак
Будући да знамо шта нам треба и да смо поставили своје циљеве, морамо имати само један начин за мјерење нашег успјеха, а за то је потребно да направимо документ помоћу којег можемо генерирати наше странице, у случају овог водича видеће пример документа на следећој слици, међутим сваки текст ће то учинити све док има неколико пасуса:

Прва итерација
У прва итерација Морамо поделити пасусе, у овом случају ћемо их назвати блоковима, знамо да су ти блокови одвојени једним или више празних редова, па ће наш први корак бити да ове редове узмемо као сепараторе.
Оно што ће следећи код урадити је прикупљање редова које пронађе све док не пронађе празан ред, а затим ће наставити да прегледава датотеку док не пронађемо другу групу текста.
Да видимо како код изгледа:
 деф линес (филе): за ред у датотеци: ииелд лине ииелд '\ н' деф блоцкс (филе): блоцк = [] фор лине ин линес (филе): иф лине.стрип (): блоцк.аппенд (лине) елиф блоцк: ииелд '' .јоин (блоцк) .стрип () блоцк = [] 

Горњи код ће бити сачуван у датотеци под називом утил.пи, тада морамо укључити различите ознаке у наш ХТМЛ документ, јер ћемо за то генерисати другу датотеку са следећим кодом:
 из __футуре__ генератора увоза импорт сис, ре из помоћног програма импорт * принт '…' титле = 1 за блок у блоковима (сис.стдин): блоцк = ре.суб (р '\ * (. +?) \ *', р '\1', блоцк) иф титле: принт' 'титле = 0 елсе: принт'

'принт блоцк принт'

'принт'

Као што видимо, користимо метод блокови () и улазну датотеку вам прослеђујемо захваљујући библиотеци сис.стдин. Датотека се мора позвати симпле_маркуп.пи и извршавамо га на следећи начин:
$ питхон симпле_маркуп.пи тест_оутпут.хтмл

Као што видимо, прослеђујемо му почетну текстуалну датотеку и прослеђујемо име које излаз мора да садржи и требало би да изгледа овако:

Завршавајући прву итерацију, завршавамо овај водич, у другом делу ћемо наставити да видимо ове концепте дубље, као и другу итерацију за овај програм.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave