python:字典操作,键错误:"0"



我想从文本文件中提取信息,并将数据存储在目录中。该文件记录以分号分隔的值。也就是说,它在一行中记录一个属性,键和值由分号和空格分隔。

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]存储信息dictary中的值,并尝试以下操作:

info[mlist[0]]=mlist[1]

最新更新