如果在路径中两次找到python模块,则该模块可以被导入两次。例如,假设您的项目的布局如下:
假设您的PYTHONPATH(sys.path)包含src和src / package1:
PYTHONPATH=/path/to/src:/path/to/src/package1
在这种情况下,您可以两次导入相同的模块,如下所示:
from package1 import spam
import spam
而且Python会认为它们是不同的模块。那是怎么回事吗?
另外,根据下面的讨论(针对搜索此问题的用户),可以两次导入模块的另一种方法是在第一次导入过程中是否存在异常。例如,如果垃圾邮件导入了鸡蛋,但是导入鸡蛋导致模块内部 出现异常,则可以再次将其导入。