如何解决如何上下文管理属于类中的属性的对象?
我将首先解释我想要做什么,然后我的问题是什么。 我有两个用 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 举报,一经查实,本站将立刻删除。