【发布时间】:2021-05-24 14:32:26
【问题描述】:
您好,我正在开发一个 firebase-query builder。它基本上是一个请求属性并返回包含完整查询的字符串的函数。它必须被执行并且应该返回数据。
def Search(**kwargs):
base="db.child('vocabulary')"
#AMOUNT OF DATA ENTERED.
entry_length=(len(kwargs.items()))
#LAST ATRIBUTTE ENTERED
last_atributte=list(kwargs.items())[entry_length-1]
#FOR EVERY ATTRIBUTE, ADD IT TO THE ROOT. IF IT'S THE LAST->CLOSE THE QUERY
for x,y in kwargs.items():
if y!=last_atributte[1]:
base+=".child('{}')".format(y)
else:
base+=".child('{}').get().val()".format(y)
print(base)
return (base)
query=Search(word_type="verbs",word="play")
print(exec(query))
在这个例子中,函数返回这个字符串:
db.child('vocabulary').child('verbs').child('play').get().val()
如果我在脚本上面运行字符串,它会返回数据,但是当我使用内置的 exec() 执行它时,会返回 None:
print(exec(db.child('vocabulary').child('verbs').child('play').get().val()))
您有提示我该如何改进它吗?提前谢谢你。
【问题讨论】: