我有以下python 3代码:
with next(val for key,val in MyServer.my_dict.items() if 'AS1' in key) as AS:
AS.port = 80
AS.connect()
...
我得到一个'AttributeError:__enter__'
。这是什么意思?是否有理由不起作用?还是有更好的方法来做到这一点?
编辑:
我找到了THIS,这似乎是答案。我只是在服务器__enter__
(MyServer的类)的__exit__
之后添加了__init__
和class Server:
"""Base server class"""
def __init__(self, ip_addr, port, username, password):
self.ip_addr = ip_addr
self.port = port
self.user = username
self.p_word = password
self.name = 'Generic Server'
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
pass
方法,它起作用了:
<app-nav></app-nav>
<router-outlet></router-outlet>
<app-footer></app-footer>
还有其他需要做的事情吗?是吗?