在导入中途退出模块代码,但将导入视为成功

时间:2018-05-02 22:19:00

标签: python python-3.x python-import

我有一个我正在导入的模块(我编写并可以自由编辑),我希望能够在将导入视为成功的同时中途停止执行。不幸的是,如果我在导入期间引发异常,则模块未成功导入且不可用。是否可以通过调用类似于if ...:的内容来中止执行(例如,不在sys.exit()块中包装后续代码)? sys.exit()无效,因为它会引发SystemExit,导致导入失败。

1 个答案:

答案 0 :(得分:0)

与其他语言不同,模块级别(即函数外部)不允许return

正如您所发现的,提出异常不是一个好的解决方案。

替代解决方案包括:

  • 将剩余代码包装在if

  • 将主代码包装在函数中,并使用return在某个时刻中断它。

  • 将主要代码包装在for

for _ in [0]:
    always_executed()

    if some_condition: break

    sometimes_executed()

    break

不是最好的可读性(由于for有点误导)。

我更喜欢main()函数或if: