inv*_*bob 1 python wsgi pickle nameerror python-2.7
我正在制作一个python程序来腌制一些数据,然后将其保存到文件中。它不起作用。
path="C:/foo/bar"
def newData():
import pickle
data = [
["foo"],
["bar"],
["baz"]
]
file = None
i = 0
while file==None:
if not exists(path + str(i)+".data"):
file = open(path + str(i)+".data", "w+")
else:
i+=1
pickle.dump(data, file)
close(file)
return path + str(i)+".data"
Run Code Online (Sandbox Code Playgroud)
我收到一个名称错误,指出“未定义全局名称关闭”:
File "C:/foo/bar/baz.py", line 26, in newData
close(file)
NameError: global name 'close' is not defined
Run Code Online (Sandbox Code Playgroud)
如果我对其中带有close的行进行注释,则会得到:
File "C:/foo/bar/baz.py", line 26, in newData
#close(file)
NameError: global name 'close' is not defined
Run Code Online (Sandbox Code Playgroud)
我的代码是否错误(是)?怎么样?
您正在编辑文件,但是Web服务器仍在运行旧代码。追溯读取源文件以向您显示该行,但这并不意味着它正在运行该行。从您提到的回溯很明显,该回溯表明注释行是问题所在。
正如@JBernardo所说,您需要将“ close(file)”更改为“ file.close()”,然后您需要强制Web服务器重新加载代码。
| 归档时间: |
|
| 查看次数: |
2602 次 |
| 最近记录: |