gpt4 book ai didi

python - 如何在Python中的这段代码中以正确的json格式获取输出

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:51 25 4
gpt4 key购买 nike

正在研究 python 和 mongodb。我试图通过将姓名与电话号码相匹配来从表格中查找姓名。电话号码位于我通过从另一个表获取号码创建的列表中。它工作正常,但我的输出被打印了两次。

phone = ["9585507882","9542158582"]           
datum = []
for i in phone:
cursor = db.name.find({"phone": i},{"_id": False})
value = yield cursor.count()
if value is 0:
pass
else:
result = []
for document in (yield cursor.to_list(length=100)):
datum.append(document)
print(datum)
self.write(bson.json_util.dumps({"result": datum}))

我的输出是

{"result": [{"phone": "9585507882", "name": "Sanjay"}]}{"result": [{"phone": "9585509882", "name": "Sanjay"}, {"phone": "9542158582", "name": "Joe"}]}

谁能帮我解决这个问题。

最佳答案

您正在 for 循环中调用 self.write(),同时仍在构建 datum。将其移到外部,以便它仅在收集完所有数据后才运行:

for i in phone:
[...]
if value == 0: # don't use "is" for value comparison!
pass
else:
[...]
for document in (yield cursor.to_list(length=100)):
datum.append(document)
[...]
self.write(bson.json_util.dumps({"result": datum}))

另外,代替

if value == 0:
pass
else:
[do_stuff]

更好

if value:
[do_stuff]

还有,result = []有什么用?您没有对该列表执行任何操作。

关于python - 如何在Python中的这段代码中以正确的json格式获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com