在将chaquopy用于android时,从java调用模块不会运行 init 方法。
PyObject utilModule = py.getModule("utils.Utils").get("Utils");
在没有构造函数的情况下创建对python的对象引用。没有附加的“ init”函数并在创建后调用该函数,有没有办法做到这一点?
答案 0 :(得分:1)
假设utils.Utils
是一个模块,而Utils
是该模块中的类,则可以执行以下操作:
PyObject utilObj = py.getModule("utils.Utils").callAttr("Utils");
或者这个:
PyObject utilClass = py.getModule("utils.Utils").get("Utils");
PyObject utilObj = utilClass.call();
如果要传递构造函数参数,只需将它们添加到callAttr
或call
的参数列表的末尾。
请参见the documentation中的ZipFile
示例。