我有一个包foo
的布局如下:
.
└── foo
├── bar.py
└── __init__.py
但是,在我的$PYTHONPATH
中有另一个名为foo
的包,如下所示:
.
└── foo
├── qux.py
└── __init__.py
我真正关心的是从前者导入bar
,从后者导入qux
在不解决冲突的情况下,有没有一种合理的干净方法来做到这一点?具体地说,利用尽管共享同一个名称,但包装具有不同的结构这一事实(具体来说,第一个包含嵌套的bar
,第二个包含嵌套的qux
)
例如,如果有一种方法可以import foo
并在列表中获取匹配的foo
包,而不仅仅是$PYTHONPATH
中的第一个包,那么我可以迭代它们并测试hasattr(package, 'bar')
回答这个问题是合理的,并且没有办法处理这样的名称冲突-即$PYTHONPATH
中有多个包具有完全相同的名称
目前没有回答
相关问题 更多 >
编程相关推荐