【发布时间】:2012-05-20 16:10:10
【问题描述】:
所以我有一个执行某些操作的 for 循环,并且我需要在上面创建一个 try-except 语句(用于打开文件,如果找不到文件则异常),但是我得到一个语法错误它下面的 for 循环(尽管当我选择错误的文件时它确实给了我异常消息)。遇到异常后如何阻止程序运行循环?
我认为使用 break 可能与它有关,但不太确定如何。我正在考虑是否打印我的异常消息然后中断或类似的东西。这是有问题的代码:
def getIngredients(path, basename):
ingredient = []
filename = path + '\\' + basename
try:
file = open(filename, "r")
except:
printNow("File not found.")
for item in file:
if item.find("name") > -1:
startindex = item.find("name") + 5
endindex = item.find("<//name>") - 7
ingredients = item[startindex:endindex]
ingredient.append(ingredients)
del ingredient[0]
del ingredient[4]
for item in ingredient:
printNow(item)
基本上,因为我选择了错误的文件来获取异常,所以下面使用该文件的 for 循环给了我一个错误。
【问题讨论】:
-
如果您希望我们找出问题所在,您需要发布代码(将其复制到您的问题中,突出显示并按 Ctrl-K)。
-
是的,请粘贴代码...听起来您需要在 while 循环中添加一行来搜索该错误。一旦找到它,你就从内部打破循环。
-
顺便说一句,Python 根据PEP-8 使用 4 个缩进字符。
-
他不是唯一一个使用两个空格公开蔑视 PEP-8 的人。
标签: python loops try-catch except