一个真实但有点傻的问题:
https://github.com/joshmarshall/tornadorpc/blob/master/tornadorpc/base.py
def start_server(handlers, ...):
...
for (route, handler) in handlers:
...
通常,“handlers”是一个由2个元素组成的元组列表。但是在这种特殊情况(Tornado)下,您可以向特定处理程序传递第三个参数(kw args)。因此,在“handlers”中的元组有时可能具有2个元素,有时可能具有3个元素。
我需要在循环中解包它。当然,我可以进行长度检查或尝试解包时使用try..except。可惜。
你能想到比这更好/更聪明的方法吗:
In [8]: handlers
Out[8]: [(1, 2), (3, 4, 5), (6, 7)]
In [9]: new_handlers = [x + (None,) for x in handlers]
?