Tu peux regarder autour du package compiler :
1 2
| from compiler import parseFile
print parseFile('mon_fichier.py') |
Cela te permets de charger un fichier sans pour autant l'exécuter et de plus analyser son contenu.
Avec le fichier 'mon_fichier.py' suivant :
1 2 3 4 5 6 7 8
| class myclass():
def test(self):
print 'test in myclass'
def myfunc():
print 'coucou'
print 'test3' |
tu obtiens :
Module(None, Stmt([Class('myclass', [], None, Stmt([Function(None, 'test', ['self'], [], 0, None, Stmt([Printnl([Const('test in myclass')], None)]))])), Function(None, 'myfunc', (), (), 0, None,Stmt([Printnl([Const('coucou')], None)])), Printnl([Const('test3')], None)]))
A toi de faire la recherche de la signature dont tu as besoin.
Partager