【发布时间】:2016-05-11 00:34:33
【问题描述】:
假设我有一个文件 file1.py 如下:
class a(object):
**body**
class b(object):
**body
我还有另一个文件 file2.py
from file1 import a
如果b中有语法错误,为什么我只导入a会抛出错误??
【问题讨论】:
标签: python python-module
假设我有一个文件 file1.py 如下:
class a(object):
**body**
class b(object):
**body
我还有另一个文件 file2.py
from file1 import a
如果b中有语法错误,为什么我只导入a会抛出错误??
【问题讨论】:
标签: python python-module
模块(即:文件)是一次性全部加载的,不是选择性的,因为要加载特定的函数/类/...,解释器需要解析整个文件,所以语法 em> 错误将导致导入失败,执行文件时发生的任何错误也是如此。
如果例如在b 中有一个除以零或类似的函数,什么不会导致导入失败。
【讨论】:
因为当您导入文件时,编译器会读取正在导入的文件,如果正在导入的文件中有任何错误,编译器会捕获它。 您需要确保您尝试导入的模块中没有错误...
【讨论】: