Pyrebase查询生成器python-exec()问题
你好,我正在开发一个firebase查询生成器。它基本上是一个请求属性并返回包含完整查询的字符串的函数。它必须被执行,并且应该返回数据Pyrebase查询生成器python-exec()问题,python,firebase,pyrebase,Python,Firebase,Pyrebase,你好,我正在开发一个firebase查询生成器。它基本上是一个请求属性并返回包含完整查询的字符串的函数。它必须被执行,并且应该返回数据 def Search(**kwargs): base="db.child('vocabulary')" #AMOUNT OF DATA ENTERED. entry_length=(len(kwargs.items())) #LAST ATRIBUTTE ENTERED last_atributte
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(“词汇”).child(“动词”).child(“游戏”).get().val()
如果我运行脚本上方的字符串,它将返回数据,但当我使用内置的exec()执行它时,将不返回任何数据:
print(exec(db.child('词汇”).child('动词').child('play').get().val())
你有什么建议可以改进吗?提前感谢。主要问题是字符串处理错误 而不是:
query=Search(word_type="verbs",word="play")
print(exec(query))
这相当于:print(exec(query))。应该是:
query=Search(word_type="verbs",word="play")
query="print({})".format(query)
exec(query)