Récupérer le prototype d'une fonction
J'ai un problème pour récupérer le prototype (signature) d'une fonction.
Code:
1 2 3 4 5 6 7 8 9
|
def main(arg1, arg2=3, arg5="meuh"):
pass
def main6():
import inspect
liste = inspect.getargspec(main)
print liste |
Ca me sort :
>>> (['arg1', 'arg2', 'arg5'], None, None, (3, 'meuh'))
Jusque là tout va bien.
Sauf qu'il me faut la signature d'une fonction contenue dans une classe, et apparemment on ne peut pas ? :?
Code:
1 2 3 4 5 6 7
|
def main6():
import Parametres as p
import inspect
param = p.Parametres()
liste = inspect.getargspec(param.getParamVal) |
p : module Parametres
param : instance de classe Parametres
getParamVal() : fonction de cette classe
Output de Python:
>>> Traceback (most recent call last):
File "C:\PROGRA~1\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "P:\travail\test\test2.py", line 159, in ?
File "P:\travail\test\test2.py", line 145, in main6
File "C:\Program Files\lib\inspect.py", line 618, in getargspec
if not isfunction(func): raise TypeError, 'arg is not a Python function'
TypeError: arg is not a Python function
Ai-je commis une erreur quelquepart ?
Merci de me venir en aide ! ;)