我正在处理一个接受文件名作为输入的程序,我试图添加一个错误检查,以便在输入无效文件时它不会破坏程序,但我不太清楚该怎么做。
目前我只是使用
image1 = Image.open(raw_input('输入您的第一个图片名称:'))
基本上我需要的是某个类型的循环,如果文件不在那里。例如,我使用的文件是june_subset_gray.tif,但是如果有人写了jne_subset_gray.tif而不是提示他们再试一次,那么它就会破坏。此外,我不想硬编码它可能是什么,因为有些东西可以命名他们的文件picture.jpeg,或alaska.tif。
有了这个说我猜测我正在寻找能够在被调用的文件不存在的情况下循环的东西。
提前感谢所有回复。这在我的编程课程中根本没有涉及,所以我受谷歌和stackoverflow的支配。
答案 0 :(得分:3)
快速循环将执行此操作
while True:
try:
image1 = Image.open(raw_input('Enter your first image name: '))
break
except IOError:
print("invalid filename, try again")
我不确定Image
是什么,但它可能引发几种不同类型的错误。例如,如果用户输入有效的文件名但不是图像文件,该怎么办?阅读它的帮助并进行试验,看看是否还有其他例外情况需要捕捉。