当我尝试运行代码时收到属性错误。
with ParamExample(URI) as pe:
with MotionCommander(pe, default_height=0.3)as mc:
这是发生错误的地方。
Traceback (most recent call last):
File "test44.py", line 156, in <module>
with ParamExample(URI) as pe:
AttributeError: __enter__
那是我在终端中收到的回溯。 如果您需要查看更多我的代码,请告诉我。 任何帮助表示赞赏,谢谢!
答案 0 :(得分:3)
更多代码(特别是ParamExample
实现)将是值得赞赏的,但是我假设您在该类上缺少了__enter__
(可能还有__exit__
)方法。
当您在python中使用with
块时,with语句中的对象将调用其__enter__
方法,with
内部的块将运行,然后{{1} }被调用(如果引发了则可选地带有异常信息)。因此,如果您在课程上没有定义__exit__
,则会看到此错误。
旁注:您需要缩进第二个__enter__
块,使其实际上位于第一个块中,或者用
with
与嵌套这两个上下文管理器(with ParamExample(URI) as pe, MotionCommander(pe, default_height=0.3) as mc:
块所使用的对象的名称)相同。