变量尚未定义,但确实如此

时间:2018-05-06 17:38:06

标签: python csv

我已多次看到这个问题,但它们都不能应用于我的代码,而且我的代码都没有意义。所以我很抱歉提出这个问题。

我编写了一个代码,将以前输入的数据写入csv文件。变量的名称称为文件,我有许多这些用于不同的输入。但是当我尝试关闭csv时,它会出现错误: NameError:name' file'未定义

以下是代码:

if classCode=="1":
  file=open("class1.csv","w")
  file.write("name, correct\n" + name + "," + str(correct) + "\n")

elif classCode=="2":
  file=open("class2.csv","w")
  file.write("name, correct\n" + name + "," + str(correct) + "\n")

elif classCode=="3":
  file=open("class3.csv","w")
  file.write("name, correct\n" + name + "," + str(correct) + "\n")

file.close()

我不知道为什么会这样说' file'当我清楚地拥有这三个时,并没有定义。我只是傻了吗?

2 个答案:

答案 0 :(得分:1)

如果类代码不是1,2或3会发生什么。如果所有类代码都做同样的事情,你可以使文件名动态化,而不是多次重复代码。

class_file=open("class{}.csv".format(classCode),"w")
class_file.write("name, correct\n" + name + "," + str(correct) + "\n")
class_file.close()

答案 1 :(得分:0)

文件变量只会在classCode为“1”,“2”或“3”时声明,否则它将不会声明并且会出现错误。

你应该确保任何一个控制转到任何一个if语句,或者你应该在if语句之外声明这个变量。

相关问题