使用Python读取文本文件并排序到字典中的麻烦

时间:2012-11-23 02:20:18

标签: python dictionary python-3.x

我在将文本文件读入Python时遇到问题,我正在使用循环并且它在文本文件结束之前一直停止以及跳过文件的第一行,我将其排序为字典为我读了每一行。我的代码是:

for x in file.readline():
    s=file.readline().rstrip()
    s=s.split(': ')
    if s[0]=='RootObject':
        Root=s[1]
    if s[0]=='Object':
        data[s[1]]={}
        Ob=s[1]
    elif s[0]=='Satellites':
        data[Ob][s[0]]=s[1]
    elif s[0]=='Orbital Radius':
        data[Ob][s[0]]=float(s[1])
    elif s[0]=='Period':
        data[Ob][s[0]]=float(s[1])
    elif s[0]=='Radius':
        data[Ob][s[0]]=float(s[1])

1 个答案:

答案 0 :(得分:1)

像这样迭代file.readline()是没有意义的。你应该像这样迭代这些行:

with open('/your/file.txt') as f:
  for line in f:
    s = line.rstrip().split(': ')
    # etc