相当于Python“with”-statement中的“continue”?

时间:2014-11-27 13:33:00

标签: python python-3.x with-statement continue

我在Python文档中找到了this

  

continue只能在语法上嵌套在forwhile循环中,   但不嵌套在函数或类定义或finally子句中   在那个循环中。它继续下一个最近的循环   封闭循环。

因为continue - 没有为with - 语句做出指示:除了适当地重构代码之外,还有其他选择吗?

示例代码(我希望它的工作方式):

with open("test.txt", "r") as f:
    if someConditionNotMet(f):
        continue  # "exit" with-statement
    # do lots of stuff

当然我可以在# do lots of stuff - 分支中编写else - 代码,但是,如果已经有两个或三个嵌套if,这只会使代码的可读性降低 - else - 分支。在一个函数中,我可以简单地使用return并在while - 或for - 循环前面提到的continue。在Python的continue - 语句中是否等同于with

好吧,您也可以在上面的文本中用continue替换break,逻辑上它在with语句中是相同的,因为其中的代码只执行一次,无论如何......(但break仅适用于for - 和while - 循环。

0 个答案:

没有答案