2

Pythonへのテキストファイルの読み取りに問題があります。ループを使用していますが、テキストファイルが終了する前に停止し続け、ファイルの最初の行をスキップします。それぞれを読み取るときに、辞書に並べ替えています。 line.Myコードは:

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 に答える