Lorsqu'une extension python est générée avec swig, la structure définie en C est automatiquement définie avec le `` repr '' suivant.
<swig_mymodule.mytype; proxy of <Swig Object of type 'struct mytype *' at 0x7f6c74210a20> >
J'aimerais faire quelque chose parce que ce n'est pas cool comme ça, mais je n'ai pas trouvé de moyen de le contrôler du côté C (ou plutôt avec une gorgée).
Si vous faites setattr
dans% python code
comme indiqué ci-dessous, le contenu sera affiché dans le code python généré par swig, il sera donc écrasé au moment de l'importation.
swig_mymodule.i
%pythoncode %{
import types
def __mytype_str(self):
return "<Mytype(…)>”
setattr(mytype, '__str__', types.MethodType(__mytype_str, None, mytype))
%}
Recommended Posts