Grace à ce forum (ou à cause de lui ?
) et plus précisément au fil « Débuter en programmation », j’ai eu envie de me mettre à Python.
Je précise que je ne suis pas du tout étudiant en informatique, c’est donc par pure curiosité/attrait que je me lance. Je précise aussi que j’ai quelques notions de php (je sais donc ce qu’est une boucle ou une fonction, même si, si je devais les définir, les « pros » rigoleraient certainement en me pointant du doigt
) : il m’était arrivé de « coder » (terme pompeux) des (petits) mods pour phpBB, ou, pour donner un autre exemple et tenter de fixer mon (petit) « niveau », j’avais pondu un petit script d’upload et de manipulation d’images (redimensionnement, ajout de légende, etc. ; bref je m’étais amusé avec GD). Dernière précision : j’ai toujours eu du mal à me mettre à la programmation orientée objet, y’a un blocage cognitif qui devait opérer, en php, pour ce que je faisais, j’ai toujours trouve ça « lourd » et surtout, j’avais l’impression de mettre les doigts dans un truc que je ne maîtrisais pas.
Bref. Aujourd’hui c’est donc Python qui m’intéresse avec pour double objectif : de m’amuser / de me créer des ptits trucs qui rendent la vie plus facile.
C’est pourquoi, en ce deuxième jour d’apprentissage, j’essaie simplement de créer un script qui automatise la « mise en forme » d’un texte en html. Plus concrètement, je veux :
- ajouter des espaces insécables quand c’est nécessaire
- dégager du code qui sert à rien (style « »)
- et c’est déjà bien
Pour le moment, je fais ça sans interface graphique (je verrai plus tard, avec PyQT) ; voici le bout de code que j’ai tapé :
[code]from os import chdir
chdir("/home/julien/Desktop/")
mon_fichier = open(‘freidson.html’,‘r’)
contenu_fichier = mon_fichier.read()
contenu_fichier = contenu_fichier.replace(’ »’, ’ »’)
contenu_fichier = contenu_fichier.replace(’« ‘, ‘« ‘)
contenu_fichier = contenu_fichier.replace(’ !’, ’ !’)
contenu_fichier = contenu_fichier.replace(’ ?’, ’ ?’)
contenu_fichier = contenu_fichier.replace(‘’, ‘’)
print contenu_fichier[/code]
Avant d’aller plus loin, j’aimerais résoudre le problème suivant : comment faire pour détecter un « (c’est un guillemet français) en fin de ligne ? Et dans la lancée, un » en début de ligne ? (Le texte à « parser » (le terme est-il juste ?) vient d’un logiciel d’OCR que je rebalance dans ooo et il est fréquent que les guillemets débutent ou finissent une ligne). Parce que là, c’est bien joli de fonctionner avec l’espace, mais dans les deux cas pré-cités, ça ne fonctionne pas.
Faut-il passer par les expressions régulières ?
Plus globalement, ce bout de code est-il « bon » où y’a-t-il plus « optimisé » ?
Merci 
(et attendez-vous à me revoir au fil de mon apprentissage
)


J’utilise déjà la méthode replace (cf. mon code).

