2

我在将文本文件读入 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])
4

1 回答 1

1

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

with open('/your/file.txt') as f:
  for line in f:
    s = line.rstrip().split(': ')
    # etc
于 2012-11-23T02:43:18.190 回答