Table des matières
Imaginons que nous ayons un certain nombre de documents prêts à l'emploi que nous avons décidé de publier sur le web, l'idéal serait de les convertir en fichiers téléchargeables et l'affaire serait résolue, mais que faire si nous ne voulons pas qu'ils le soient téléchargeable et uniquement visible sur les pages Web, alors nous devrions créer Documents HTML pour ce faire, cependant, générer les étiquettes nécessaires à la main peut être un casse-tête.Compte tenu de la situation, l'idéal est de générer un programme qui nous permette de résoudre ces limitations, pour cela nous avons Python et grâce à ses différents outils de traitement de texte nous pouvons construire la solution qui nous permettra de faire cette tâche.
termes
Pour résoudre un problème, nous devons d'abord établir termes qui nous permettent de savoir quoi faire, pour ce projet particulier nous établirons ce qui suit :
- Le texte ne devrait pas être tenu de contenir un quelconque type de code ou alors Étiquettes.
- Vous devez être capable de faire la distinction entre titres, paragraphes et listes, aussi bien que texte surligné Oui URL.
- Il doit être suffisamment robuste pour être appliqué à d'autres langages de balisage que le HTML.
Outils à utiliser
Pour atteindre les objectifs proposés, nous devons définir les outils que nous devons utiliser, dans ce cas, nous pouvons prendre la bibliothèque d'entrée standard sys.stdin et pour la sortie ça suffira imprimer, tout le reste fonctionne avec différentes techniques que nous verrons dans les exemples.
Début
Puisque nous savons ce dont nous avons besoin et que nous avons établi nos objectifs, nous n'avons qu'un moyen de mesurer notre succès et pour cela il est nécessaire que nous fassions un document avec lequel nous pouvons générer nos pages, dans le cas de ce tutoriel nous verra un exemple de document dans l'image suivante, mais n'importe quel texte fera l'affaire tant qu'il comporte plusieurs paragraphes :
Dans la première itération Nous devons diviser les paragraphes, dans ce cas nous les appellerons blocs, nous savons que ces blocs sont séparés par une ou plusieurs lignes vides, notre première étape sera donc de prendre ces lignes comme séparateurs.
Ce que le code suivant fera, c'est collecter les lignes qu'il trouve jusqu'à ce qu'il trouve une ligne vide, puis il continuera à parcourir le fichier jusqu'à ce que nous trouvions un autre groupe de texte.
Voyons à quoi ressemble le code :
def lignes (fichier) : pour ligne dans fichier : rendement ligne rendement '\ n' def blocs (fichier) : bloc = [] pour ligne dans lignes (fichier) : if ligne.strip (): block.append (ligne) elif bloc : rendement '' .join (bloc) .strip () bloc = []
Le code ci-dessus sera enregistré dans un fichier appelé util.py, alors nous devons incorporer les différentes balises dans notre document HTML résultant, pour cela nous allons générer un autre fichier avec le code suivant :
from __future__ import generators import sys, re from util import * print '…' title = 1 pour block in blocks (sys.stdin): block = re.sub (r '\ * (. +?) \ *', r '\1', block) if title: print' 'title = 0 else: print''imprimer le bloc d'impression'
'imprimer' '
Comme nous le voyons, nous utilisons la méthode blocs () et nous vous transmettons le fichier d'entrée grâce à la bibliothèque sys.stdin. Le fichier doit être appelé simple_markup.py et nous l'exécutons de la manière suivante :
$ python simple_markup.py test_output.html
Comme nous pouvons le voir, nous lui passons le fichier texte initial et nous lui passons le nom que la sortie doit contenir et il devrait ressembler à ceci :