问题描述
我将首先解释我想要做什么,然后我的问题是什么。 我有两个用 C++ 编写的软件模块,我可以通过自动生成的 python(ctype) 类来连接它们,我可以用它们来初始化和与模块通信。
我正在写的是一个类,其中包含两个自动生成的接口类中的每一个作为属性的一个对象。它们在我的类的 init 中初始化。我的班级有一个 step()
-method,它调用两个接口对象,准备它们的输入,输入调用它们的 step()
-methods 并返回它们的输出,尽管已转换。
我在测试这个类时遇到的问题。当我连续进行多个测试时,我收到一个 FATAL 错误,指出我的一个接口对象已经初始化。
我已经四处寻找解决方案。两个接口类都有 __del__
- 和 __exit__
- 函数,我认为可以解决这个问题。我知道它们是通过上下文管理来使用的。我发现的这方面的例子例如使用:
with Interface() as interface
但我不知道如何利用它,因为我想在接口的上下文中直到不再使用 MyClass。
我希望这个问题有点清楚,我会尝试在这里重申:我如何管理我班级的两个成员的上下文,同时在我的班级的整个生命周期中使用它们?非常感谢您的回答!
class MyClass(object):
def __init__(self,data):
self.data = data
interface1 = Interface1() # Interface to C++ modules
interface2 = Interface2()
def step(self):
inputs = self.generate_input()
outputs = interface1.step(inputs)
inputs = self.generate_inputs()
outputs = intefrace2.step(inputs)
return self.convert(outputs)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)