如何解析此文本文件:
mapping apple
v1: v1a : v1b
mapping ball
v2: v2a : v2b
得到
{'apple':['v1','v1a','v1b'], 'ball':['v2','v2a','v2b']}
在一个映射下可以有多个V,如:
mapping apple
v1: v1a : v1b
v2: v2a : v2b
v3: v3a : v3b
mapping ball
v1: v1a : v1b
v2: v2a : v2b
这就是我迄今为止所尝试的:
copy=False
for line in fh:
if line.strip()=="mapping_start":
copy=True
elif line.strip()=="mapping_end":
copy=False
elif copy:
if line.find('#')==-1 and len(line.strip())>0:
#make a dictionary here
可以使用^{} 以及^{} 和^{} 函数的组合来避免不必要的检查:
您可以使用defaultdict,这样就不需要标识开始和结束。您只需标识“映射”行和所有其他包含以下值的行:
退货:
相关问题 更多 >
编程相关推荐