我有一个通过API查询的功能。它看起来像这样:
def lookup(table, *fields, **query):
# table - the table to query through the API
# fields - the fields I want returned in the response
# query - the query I encode and send
# do some stuff
到目前为止一直运行良好,但我遇到了一个案例,我希望在查询中包含一个项目,其中键的格式为some_field.some_sub_field
。 Python不喜欢解析它,我想知道是否有一个很好的方法可以做到这一点而不重写lookup
以期望dict
而不是关键字参数。
我能想到的最好看起来像这样:
response = lookup('table', 'name', name='item', **{'status.name': 'production'})
我认为这看起来很难看。有没有更好的方法呢?现在我正在为调用上方的查询创建dict
并解构整个查询。
query = {'name': 'item', 'status.name': 'production'}
response = lookup('table', 'name', **query)