-2

私は現在Pythonプログラミングに取り組んでいます。

class A:
    def LoadPosition(self):
        FILE = open('a.txt', "r+")

        i = 0
        for node in self.nodes:
            line = FILE.readline()
            if i == 0:
                scaling_factor == float(line)
                i += 1
            else:
                tmpn, tmpx, tmpy, tmpa = line.split('\t')
                node.id = tmpn
                node.coordinate_x = float(tmpx)
                node.coordinate_y = float(tmpy)
                node.area = int(tmpa)
        FILE.close()

以前は問題ありませんでしたが、突然、NameErrorメッセージが表示されます。私を助けてください。

前もって感謝します。

4

1 に答える 1

6

スペースとタブを奇妙な方法で混合しているため、Pythonが混乱している可能性があります。編集ウィンドウからコードをコピーして貼り付けると、次のようになります。

In [2]: for line in s.splitlines():
   ...:     print repr(line)
   ...:     
''
'    class A:'
'    \tdef LoadPosition(self):'
'\t        FILE = open(\'a.txt\', "r+")'
'    \t'
'\t\t    i = 0'
'    \t    for node in self.nodes:'
'    \t    \tline = FILE.readline()'
'    \t    \tif i == 0:'
'    \t    \t\tscaling_factor == float(line)'
'    \t    \t\ti += 1'
'    \t    \telse:'
"    \t    \t\ttmpn, tmpx, tmpy, tmpa = line.split('\t')"
'\t       \t     \tnode.id = tmpn'
'   \t\t         \tnode.coordinate_x = float(tmpx)'
'   \t\t         \tnode.coordinate_y = float(tmpy)'
'   \t\t     \t    node.area = int(tmpa)'
'\t\t    FILE.close()'

[誰かが投稿された質問からコードをコピーし、生の編集ウィンドウではない場合、これは起こらない可能性があります-少なくとも時々、元のタブが表示されないことがあります-したがって、コードを試した人は問題がない可能性があります。 ]

ステップ1:を使用してコードを実行しpython -tt yourfilenamehere.py、タブエラーであることを確認します。

ステップ2:どこでも4つのスペースのタブを使用するように切り替えます。

于 2012-11-21T20:02:31.173 に答える