我有以下TOML:
[gps]
measurement = "gps"
tags = ["lat", "lon", "alt"]
limit = 10
这将转换为Python中的以下词典:
{
"gps": {
"measurement": "gps",
"tags": [ "lat", "lon", "alt"],
"limit": 10
}
read_gps
详情如下:
-
得到
**kwargs
自上而下
-
当前,只需打印以下字符串:
select "lat", "lon", "alt", from "gps" limit 10
class dbClass:
def __init__(self, db=None, **kwargs):
self.kwargs = kwargs # this kwargs is different from the above kwargs
# do some initialization stuff here
def read_gps(self, **kwargs):
# pass the above mentioned dict here
# instance_dbClass.read_gps(gps_dict)
_data = kwargs
_tags = kwargs.get('tags')
print('select "{}","{}","{}" from "{}" limit {}'.format(*_tags,
_data.get('measurement'),
_data.get('limit'))
)
SyntaxError: only named arguments may follow *expression
相反,如果我移除
measurement
和
limit
它会很好用的。
试验
query = """
select "{}", "{}", "{}" from "{}" limit {}
""".format(_tags[0], _tags[1], _tags[2], _data.get('measurement'),
_data.get('limit'))
print(query)
但是,它有一种使用
*
.format()
以及其他值