je veux utiliser une fonction d'un autre module comme décorateur, mais je besoin de manipuler espace de noms global du module en cours.Utilisation des fonctions de décorateur python d'un module différent
Par exemple, je veux être en mesure d'aller de ceci:
class SomeClass:
pass
root = SomeClass
à ceci:
from othermodule import decorator
@decorator
class Someclass:
pass
Toutes les idées?
Est-ce pas ce code déjà un travail? – muckabout
Je pense qu'il veut que le code dans le décorateur définisse une variable racine dans la portée globale de la classe d'origine. J'ai peur que ce soit contre tout python. –
Vous pourriez avoir une fonction qui retourne le décorateur qui accepte vos globals. –