我有一个具有如下目录结构的项目:
/foo/baz/__init__.py /bar/foo.py /bar/splat.py
问题是, /bar/splat.py 指的是 foo.baz 模块。这个失败了 No module named baz 因为它试图在 /bar/foo.py . 我不想让python搜索 bar 模块,我想告诉它搜索根目录 foo 模块用于 baz .我该怎么做?在Ruby中,您只需在标识符前面加上 :: (在这种情况下, ::Foo::Baz )是否有与此等效的python?
/bar/splat.py
foo.baz
No module named baz
/bar/foo.py
bar
foo
baz
::
::Foo::Baz
在python 2.5和2.6中,
from __future__ import absolute_import
应该更改python的 import 执行所需操作的行为(如果启用了根目录,/) sys.path 当然,-)这在2.7中成为了正常的Python行为(还没有发布,但是如果您好奇的话,早期的alpha已经被标记了)。
import
sys.path