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






Répondre à