当用户输入文件名时,我必须包括某种形式的错误处理,这样,如果他们输入的文件名不在程序目录中,它将显示一条错误消息。这是当前的代码:
board = []
fileinput = input("Please enter your text file name:")
filename = fileinput + ".txt"
file = open(filename, "r+")
for lines in file:
board.append(list(map(int,lines.split())))
我不确定在哪里包括try / except,就像我这样包含它:
board = []
fileinput = input("Please enter your text file name:")
filename = fileinput + ".txt"
try:
file = open(filename, "r+")
except:
print("Error: File not found")
for lines in file:
board.append(list(map(int,lines.split())))
然后我得到以下错误:
第28行,在 对于文件中的行: NameError:未定义名称“文件”
我知道可能有一个非常简单的解决方案,但我正在竭尽全力。
答案 0 :(得分:1)
您应该在try
下包含所有可能发生错误的行,所以:
board = []
fileinput = input("Please enter your text file name:")
filename = fileinput + ".txt"
try:
file = open(filename, "r+")
for lines in file:
board.append(list(map(int,lines.split())))
except:
print("Error: File not found")
您呈现的方式是程序尝试忽略错误并继续执行,最后以NameError: name 'file' is not defined
您遇到的第二个问题是作用域-file
是try
中的局部变量,您在作用域之外调用它。