我目前正在研究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消息。请帮帮我。
提前致谢。
答案 0 :(得分: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:切换到四处使用四个空格标签。