J'ai un problème pour récupérer le prototype (signature) d'une fonction.
Ca me sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
>>> (['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 ?
p : module Parametres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 def main6(): import Parametres as p import inspect param = p.Parametres() liste = inspect.getargspec(param.getParamVal)
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 !
Partager