导入python模块,通过_init__.py脚本
我的目录结构是导入python模块,通过_init__.py脚本,python,import,Python,Import,我的目录结构是 app.py lib __init__.py _foo.py 在\uuuu init\uuuuuuuy.py内部,我已经编写了 来自。将\u foo作为foo导入 然后在app.py里面我试着打个电话 从lib.foo导入* 但它抛出ModuleNotFoundError:没有名为'lib.foo'的模块exception 基本上,我想通过\uu init\uuuuuuuuuuuupy脚本导入所有内容。 虽然我意识到如果\u foo.py被重命名为foo.py,
app.py
lib
__init__.py
_foo.py
在\uuuu init\uuuuuuuy.py
内部,我已经编写了
来自。将\u foo作为foo导入
然后在app.py里面我试着打个电话
从lib.foo导入*
但它抛出ModuleNotFoundError:没有名为'lib.foo'的模块
exception
基本上,我想通过\uu init\uuuuuuuuuuuupy
脚本导入所有内容。
虽然我意识到如果\u foo.py
被重命名为foo.py
,代码是有效的,
我仍然想知道是否有任何方法可以通过
\uuuu init\uuuu.py
使导入工作正常,但不确定是否要绕过导入语句,但您可以通过一些不太明确的方式来解决:
lib/\uuuu init\uuuuu.py
import sys
from lib import _foo
sys.modules['lib.foo'] = _foo
test = 1
来自。将\u foo作为foo导入
__全部u u=['foo']
lib/\u foo.py
import sys
from lib import _foo
sys.modules['lib.foo'] = _foo
test = 1
\uuuuuuuuuuuuuuuuuuuuuuuuuu=[
“测试”
]
测试=1
lib/\u foo.py
import sys
from lib import _foo
sys.modules['lib.foo'] = _foo
test = 1
保持lib/\uuuu init\uuuu.py
使lib成为一个模块
导入应用程序lib后,foo
将成为可用模块
>>> import app
>>> from lib import foo
>>> foo
<module 'lib._foo' from '/path/to/test/lib/_foo.py'>
>>> foo.test
1
导入应用程序
>>>从lib导入foo
>>>福
>>>食物测试
1.
谢谢你把我介绍给
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu