【发布时间】:2017-04-21 06:16:46
【问题描述】:
似乎使用两个不同的PYTHONPATHs 导入的实体不是相同的对象。
我在我的代码中遇到了一个小问题,我想用一个小测试用例来解释它。
我创建了源代码树:
a/
__init__.py
b/
__init__.py
example.py
在example.py中:
class Example:
pass
从文件夹 a 的父级,我运行 python 和这个测试:
>>> import sys
>>> sys.path.append("/home/marco/temp/a")
>>>
>>> import a.b.example as example1
>>> import b.example as example2
>>>
>>> example1.Example is example2.Example
False
所以问题是:为什么结果是False?即使通过两个不同的路径导入,类也是一样的。如果该类是自定义异常并且您尝试使用 except 捕获它,这将是一团糟。
使用 python 3.4.3 测试
【问题讨论】:
标签: python python-import python-module