1

使用 chaquopy for android 时,从 java 调用模块不会运行该__init__方法。

PyObject utilModule = py.getModule("utils.Utils").get("Utils");

在没有构造函数的情况下创建对 python 的对象引用。有没有办法在没有额外的“init”函数并在创建后调用它的情况下做到这一点?

4

1 回答 1

1

假设utils.Utils是一个模块,并且Utils是该模块中的一个类,您的代码只是获取对该类的引用。如果您想实际实例化该类,您可以这样做:

PyObject utilObj = py.getModule("utils.Utils").callAttr("Utils");

或这个:

PyObject utilClass = py.getModule("utils.Utils").get("Utils");
PyObject utilObj = utilClass.call();

如果要传递构造函数参数,只需将它们添加到callAttror的参数列表末尾即可call

请参阅文档ZipFile中的示例。

于 2019-05-31T11:06:33.533 回答