python:字典操作,KeyError:';0';
我想从文本文件中提取信息,并将数据存储在目录中。该文件记录分号分隔的值。也就是说,它在一行中记录一个属性,键和值之间用分号和空格分隔python:字典操作,KeyError:';0';,python,directory,Python,Directory,我想从文本文件中提取信息,并将数据存储在目录中。该文件记录分号分隔的值。也就是说,它在一行中记录一个属性,键和值之间用分号和空格分隔 def info_file_parser(info_file): f=open(info_file,'rb') info={} for line in f: line=line.rstrip() mlist=line.split(": ") if len(mlist)==2: info[mlist[0]]=info[
def info_file_parser(info_file):
f=open(info_file,'rb')
info={}
for line in f:
line=line.rstrip()
mlist=line.split(": ")
if len(mlist)==2:
info[mlist[0]]=info[mlist[1]]
if __name__='__main__':
fname="/Users/me/info.txt"
info_file_parser(fname)
KeyError:“0”。怎么了?为什么我不能通过赋值创建键?您试图在字典中设置一个不存在的键 在函数的
if
语句中,它不应该是:
if len(mlist)==2:
info[mlist[0]]=mlist[1]
这一行:
info[mlist[0]]=info[mlist[1]]
尝试使用键mlist[1]存储info DICTORIAL中的值,然后尝试以下操作:
info[mlist[0]]=mlist[1]
我想应该是这个
info[mlist[0]]=mlist[1]
@VigneshKalai你是对的。谢谢。:)info[mlist[0]]=info[mlist[1]
info[mlist[1]part试图访问并返回info dict中mlist[1]键的值,但该值不存在exist@dudu很乐意帮忙:)我想你可以接受一个向你解释清楚的答案