Índice
Vamos imaginar que temos uma série de documentos prontos que decidimos publicar na web, o ideal seria convertê-los em arquivos para download e o caso estaria resolvido, mas e se não quisermos que sejam disponível para download e visível apenas em páginas da web, então devemos criar Documentos HTML para fazer isso, no entanto, gerar os rótulos necessários manualmente pode ser uma dor de cabeça.Dada a situação, o ideal é gerar um programa que nos permita resolver essas limitações, para isso temos Pitão e graças às suas diferentes ferramentas de processamento de texto podemos construir a solução que nos permitirá realizar esta tarefa.
Termos
Para resolver um problema, devemos primeiro estabelecer termos que nos permitem saber o que fazer, para este projeto em particular iremos estabelecer o seguinte:
- O texto não deve conter qualquer tipo de código ou rótulos.
- Você deve ser capaz de distinguir entre títulos, parágrafos e listas, assim como texto destacado Y URLs.
- Deve ser robusto o suficiente para ser aplicado a outras linguagens de marcação além do HTML.
Ferramentas para usar
Para atingir os objetivos propostos devemos definir quais ferramentas devemos usar, neste caso podemos pegar a biblioteca de entrada padrão sys.stdin e para a saída será suficiente impressão, todo o resto está trabalhando com técnicas diferentes que veremos nos exemplos.
Começar
Já que sabemos o que precisamos e estabelecemos nossos objetivos, só temos que ter uma forma de medir nosso sucesso e para isso é necessário que façamos um documento com o qual possamos gerar nossas páginas, no caso deste tutorial nós verá um documento de exemplo na imagem a seguir; no entanto, qualquer texto servirá, desde que tenha vários parágrafos:
Primeira iteração
No primeira iteração Precisamos dividir os parágrafos, neste caso vamos chamá-los de blocos, sabemos que esses blocos estão separados por uma ou mais linhas em branco, então nosso primeiro passo será tomar essas linhas como separadores.
O que o código a seguir fará é coletar as linhas que encontrar até encontrar uma linha em branco e, em seguida, continuará percorrendo o arquivo até encontrar outro grupo de texto.
Vamos ver a aparência do código:
linhas def (arquivo): para linha no arquivo: rendimento linha rendimento '\ n' blocos def (arquivo): bloco = [] para linha em linhas (arquivo): if line.strip (): block.append (linha) elif bloco: rendimento '' .join (bloco) .strip () bloco = []
O código acima será salvo em um arquivo chamado util.py, então devemos incorporar as diferentes tags em nosso documento HTML resultante, para isso geraremos outro arquivo com o seguinte código:
from __future__ import generators import sys, re from util import * print '…' title = 1 para bloco em blocos (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', bloco) se título: imprimir' 'título = 0 else: imprimir''imprimir bloco de impressão'
'impressão' '
Como vemos, usamos o método blocos () e passamos o arquivo de entrada para você graças à biblioteca sys.stdin. O arquivo deve ser chamado simple_markup.py e nós o executamos da seguinte maneira:
$ python simple_markup.py test_output.html
Como podemos ver, passamos o arquivo de texto inicial para ele e passamos a ele o nome que a saída deve conter e deve ter a seguinte aparência:
Finalizando a primeira iteração, encerramos este tutorial, na segunda parte continuaremos a ver esses conceitos com mais profundidade, assim como a segunda iteração para este programa.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo