OVH Cloud OVH Cloud

éviter un import ?

2 réponses
Avatar
Do Re Mi chel La Si Do
Bonjour !


J'ai un script, qui contient des fonctions zé des classes.

à partir d'une (instance d'une) des classes, je cherche à pouvoir faire un
dir( sur le script entier. J'obtiens ce résultat, en faisant :

import toto #le script s'appelle toto.py sur le disque
dir(toto)

Mais j'aimerais trouver un moyen, qui m'éviterait de passer par import. Une
sorte de "self.dir()" ; sauf que self renvoie sur l'instance de la classe,
alors que je voudrais pointer le script.




Bon, ne cherchez plus, j'ai trouvé. En écrivant, j'ai pensé : "mais je n'ai
pas essayé globals()". Et, bien sûr, ça convient.



Puuiitt ! Vivement la fin de la semaine. Va falloir se remettre en form.
Surtout que, demain, j'ai une dure journée (un réseau de 3 postes à
installer/désinstaller 2 fois, pour faire de la formation courte (2 fois 2
heures). Qu'est-ce qu'il ne faut pas faire, pour pouvoir payer l'Urssaf...



@-salutations

Michel Claveau

2 réponses

Avatar
Hervé Cauwelier
Do Re Mi chel La Si Do wrote:
Bon, ne cherchez plus, j'ai trouvé. En écrivant, j'ai pensé : "mais je n'ai
pas essayé globals()". Et, bien sûr, ça convient.


Arf ! j'allais répondre en toute bonne foi en ratant le bas de ton message.

Ben pour ta peine j'ai deux réponses. J'ai failli te dire que t'étais
bon pour du parsing du texte du fichier et puis moi aussi j'ai eu une
pensée : y'a pas un module utilisé par pychecker ou pyflake dans la
bibliothèque standard qui fait ça ? Et si !

http://python.org/doc/2.4.2/lib/module-pyclbr.html

Puis en te voyant parler de globals() qui répond à ta question, je suis
tout d'un coup moins sûr d'avoir compris ta requête.

--
Hervé Cauwelier
http://www.oursours.net/

Avatar
Do Re Mi chel La Si Do
Bonsoir !


pyclbr ne s'occupe que des classes, et lit un module (externe). Dans le même
genre, dir() fait mieux (plus large).

Mais, pour mon besoin, je voulais m'occuper du script en cours ; et
globals() est parfait, pour mon besoin.

Merci de m'avoir lu.


@-salutations

Michel Claveau