Comment puis-je lister les méthodes dans un module python 2.5?

J'essaie d'utiliser une bibliothèque Python écrite en C qui n'a aucune documentation d'aucune sorte. Je veux utiliser l'introspection pour au moins voir quelles méthodes et classes sont dans les modules. Quelqu'un a-t-il une fonction ou une bibliothèque que je peux utiliser pour lister les fonctions (avec des listes d'arguments) et les classes (avec des méthodes et des variables membres) dans un module?

J'ai trouvé Cet article sur l'introspection Python, mais je suis sûr que cela ne s'applique pas à Python 2.5. Merci pour l'aide.

24
demandé sur Randall Cook 2009-08-15 04:13:02

4 réponses

Voici quelques choses que vous pouvez faire au moins:

import module

print dir(module) # Find functions of interest.

# For each function of interest:
help(module.interesting_function)
print module.interesting_function.func_defaults
52
répondu Alexander Ljungberg 2009-08-15 00:17:51

Le Chapitre 4 de Mark Pilgrim, que vous mentionnez, s'applique très bien à Python 2.5 (et à toute autre version récente de 2.*, grâce à la compatibilité ascendante). Mark ne mentionne pas help, mais je vois d'autres réponses.

Un bit clé que personne (y compris Mark;-) ne semble avoir mentionné est inspect, un excellent module dans la bibliothèque standard de Python qui aide vraiment à l'introspection avancée.

12
répondu Alex Martelli 2015-06-03 11:15:03

Juste c'est assez bon aussi:

import module
help(module)

Il imprimera la docstring pour le module, puis listera le contenu du module, imprimant également leurs docstrings.

6
répondu Ned Batchelder 2009-08-15 00:25:24

Les fonctions dir () montrent tous les membres d'un module.

4
répondu Alex Gaynor 2009-08-15 00:17:30