Python 如何在文档中循环保存所有适用的结果
我有一个包含结果记录的文档,我要做的是在文档中循环并保存每个正确的结果 这是我当前的代码,工作正常,但只返回第一个结果Python 如何在文档中循环保存所有适用的结果,python,Python,我有一个包含结果记录的文档,我要做的是在文档中循环并保存每个正确的结果 这是我当前的代码,工作正常,但只返回第一个结果 #Fetch router descriptors based on a given flag def getHSDirFlag(): for r in router.itervalues(): if 'HSDir' in r['flags']: return r return None 我试过: def getHSDirF
#Fetch router descriptors based on a given flag
def getHSDirFlag():
for r in router.itervalues():
if 'HSDir' in r['flags']:
return r
return None
我试过:
def getHSDirFlag():
HSDirList =()
for r in router.itervalues():
if 'HSDir' in r['flags']:
HSDirList += r
return HSDirList
return None
但是得到错误TypeError:只能将元组(而不是“dict”)连接到元组
保存dict的最佳数据类型是什么?我如何在文档中循环查找每个结果?首先,为什么要调用变量
HSDirList
,使其成为元组,而不是列表
第二,为什么返回for
循环的内的“列表”,然后在函数末尾加上一个return None
(永远不会到达)
尝试:
请注意,return
在for
循环之外,因此在遍历所有itervalues
之前不会发生。另外,router
现在是函数的参数,而不是依赖于作用域
<>最后,你应该阅读并考虑实现.你可以把字典保存在<代码> JSON< /代码>文件中!在这段代码中,您有一个元组,您希望在元组上连接字典,但我建议您使用JSON
保存dicts
此代码用于保存json文件:
import json
with open('data.json', 'wb') as fp:
json.dump(data, fp)
这件是用来装东西的
with open('data.json', 'rb') as fp:
data = json.load(fp)
阅读更多
with open('data.json', 'rb') as fp:
data = json.load(fp)