Salut à tous !
Je voudrais vous faire part de mes découverte en ce qui concerne l'insertion de
balises de fin de block dans un code python, ce qui pour certain améliorerait
grandement la lisibilité de ce langage.
En effet, j'ai redécouvert un module nommé pindent.py, présent dans toutes les
distribution depuis au moins python2.5 et qui peut servir à:
1. Insérer des balises de fin de plock (sous forme de commentaires) au code;
2. retirer ces balises de fin de block du code;
3. reformatter le code afin d'ajuster les indentations (sur la base des balises
de fin de block (lorsque ces indentations ont été désorganisées pour une raison
ou pour une autre".
Pour trouver ce module, rien de plus simple. Vous allez dans le dossier du
python installé sur votre ordinateur, et vous y lancez une recherche sur
l'expression "pindent.py".
Plus bas, je vous collerai un code de test qui m'a servi à explorer les
possibilités de ce module.
Pour ceux qui ont visité mon site web, il ont sans doute remarqué que je me
penche déja depuis un moment sur un éditeur pour le langage python nommé python
editor (soit dit en passant que je suis très tenté de renommer visual python).
Et jusqu'ici je m'évertuais à réaliser moi-même un module d'insertion de
balises de fin de block au code python traité. Module que je ne trouvais
toujours pas satisfaisant à cause de ses piètres performences sur les codes
les plus longs.
Maintenant avec ce module, je crois que j'ai la solution à ce problème.
Certes il ne s'agit ici que d'insertion de balises à la basic du genre "end
class", "end if", end def", et pas encore de balises à la c (fait d'accolades),
mais je m'en contenterai dans un premier temps... pourquoi pas en attendant de
trouver un autre module python qui le fait.
Je pense que Quentin pourrait être intéressé, lui qui fait en ce momment passer
le 6pad au langage de script python.
A présent, voici le code du script test.py qui m'a servi à tester ce module
pindent.py.
Début du code python
# -*- coding: utf-8 -*-
# Le script suivant a été créé pour tester
# le module pindent.py qui a pour rôle
# d'insérer ou d'enlever des balises de fin de block au code python,
# ainsi que de formatter correctement les indentations.
# Pour que ce script fonctionne, le fichier pindent.py doit être mis
# dans le même dossier que le script courant.
import os
import sys
import pindent
# on recueille le contenu du fichier exemple.py
# celui dans le code duquel on doit ajouter des balises
path = open('exemple.py','rb')
s = path.read() ## Récupération du contenu du fichier
path.close() ## Fermeture du fichier
# Instruction d'insertion de balises de fin de block
# va ajouter des balises de fin de block au code passé en paramètre
s = pindent.complete_string(s)
# Instruction de reformattage des indentations
# va ajuster les indentations suivant les balises de fin de block présents
s = pindent.reformat_string(s)
# Instruction de retrait des balises de fin de block
# va retirer les balises de fin de block dans le code passé en paramètre
# s = pindent.delete_string(s)
# affichage du résultat
print(s)
# message de fin des traitements
print("fin des traitements")
Fin du code python
Plus tard, je vous reparlerai de cet éditeur de code python que je conçois. Je
suis sûr que ses fonctionnalités intéresseront plus d'un.
Amicalement,
Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
Mon site: www.visuweb.net