我是Python的新手。 我试图创建一个名为ic0File的类。
这是我使用它时获得的(Python 3.1)
>>> import sys
>>> sys.path.append('/remote/us01home15/ldagan/python/')
>>> import ic0File
>>> a=ic0File.ic0File('as_client/nohpp.ic0')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "ic0File.py", line 7, in __init__
print ("".join(self.lines))
NameError: global name 'infile' is not defined
班级代码是:
class ic0File:
def __init__(self,filename):
self.infile = open(filename, 'r')
import sys
import re
self.lines=self.infile.readlines() #reading the lines
print ("".join(self.lines)
谢谢,
答案 0 :(得分:0)
要重新加载模块(例如,如果您修改了代码),请使用reload()
。在你的情况下:
reload( ic0file )
在Python 3中,reload
已移至imp
库:
import imp
imp.reload( ic0file )
答案 1 :(得分:0)
正如其他用户所指出的那样,实际引发该异常的代码会有所帮助,但我的猜测是您尝试访问infile
的{{1}}属性,就好像它是实际上是变量。
你可能写过这样的东西:
ic0File
而不是:
self.lines = infile.readlines() #reading the lines
在self.lines = self.infile.readlines() #reading the lines
的一种方法中。与其他语言不同,对象属性不会成为所述对象方法中的局部变量。