file.write(newrecord)
NameError:名字“文件”是没有定义NameError:名字“文件”是没有定义
这是我得到一个错误。
classa = int(input("What class are you in?"))
if classa == "1":
file=open("class 4.csv", "a+")
file.write(newrecord)
文件明确定义,我不知道为什么我收到此错误。
file.write(newrecord)
NameError:名字“文件”是没有定义NameError:名字“文件”是没有定义
这是我得到一个错误。
classa = int(input("What class are you in?"))
if classa == "1":
file=open("class 4.csv", "a+")
file.write(newrecord)
文件明确定义,我不知道为什么我收到此错误。
您的缩进已关闭。 Python基于缩进处理块。另外,正如@davidism在上面的评论中指出的那样,你正试图将一个int与一个字符串进行比较。
试试这个:
classa = int(input("What class are you in?"))
if classa == 1:
myfile=open("class 4.csv", "a+")
myfile.write(newrecord)
假设newrecord
在代码中定义超过这个地方。
再次编辑代码以满足克莱顿的评论。 file
是Python v2.2 - v2.7中的构造函数。
这是问题的一半,另一半是@davidism发布的内容:'input'被转换为'int',然后与'str'相比较,所以即使用户输入'1',测试_never_也会通过, 。 – ShadowRanger
@ShadowRanger看到 - 我给了大卫+1评论。 –
我只是建议你把它放到你的答案中,这样就完成了;我不喜欢仅仅解决问题的单方面问题(当然整个问题可以解决;这里发布的一些问题只是一堆可怕的问题)。 – ShadowRanger
如果classa不是“1”,会发生什么情况? – Alp
@Alp我为此做了代码,但如果我为classa输入1,则会出现错误。 –
检查您的缩进。 – user2357112