Supposons que j'ai ci-dessous la structure de fichier python:collecte automatique des informations dans sub_modules lors de l'importation en python?
\function_group
|-__init__.py
|-sub_function1
|----|__init__.py
|----|sub_sub_func1.py
|----|sub_sub_func2.py
|----|sub_sub_func3.py
|-sub_function2
|----|__init__.py
|----|sub_sub_func1.py
|----|sub_sub_func2.py
|----|sub_sub_func3.py
Dans chaque sub_sub_funcX.py
il y a une fonction de liste recueilleront tous les noms de fonction en elle-même sub_sub_funcX.py
,
# sub_sub_funcX.py
# and each sub_sub_funcX.py file has similiar code
import inspect
functions = inspect.getmembers(self?, inspect.isfunction) # how to write the "self" here
def bar(x, y):
return x * y
def bar1(x, y):
return x + y
Mes questions sont
sur le code ci-dessus marqué
"# how"
, quelle est la bonne expression pour le point de soi? Est-ce que ce devrait être un"sub_sub_funcX"
? Comment puis-je obtenir une liste complète de toutes ces [fonctions] lors de l'importation du module du hautfunction_group
?- ? Je veux dire est-il possible que chaque module de sous-fonction puisse rapporter en haut sa liste de fonctions dans une certaine mesure lors de l'importation?
est-il un moyen que je peux facilement étendre les modules sans ajouter de code d'entretien dans
__init__
juste un facile à accrocher et facile à enlever? par exemple, je change la structure comme plus tard:
\function_group
|-__init__.py
|-sub_function1
|----|__init__.py
|----|sub_sub_func1.py
|----|sub_sub_func2.py
|----|sub_sub_func3.py
|-sub_function2
|----|__init__.py
|----|sub_sub_func1.py
|----|sub_sub_func2.py
|----|sub_sub_func3.py
|----|sub_sub_func4.py # new added
|-sub_function3 # new added
|----|__init__.py # new added
|----|sub_sub_func1.py # new added
|----|sub_sub_sub_function_31 # new sub added
|--------|__init__.py # new added
|--------|sub_sub_sub_sub_func1.py# new added
-1: Pourquoi ne pas utiliser la fonction sphinx '..autodoc'? Cela ne serait-il pas plus simple? –