我正在尝试从子目录导入所有文件,所以我想我可以在该子目录中编写__init__.py
来导入文件。但是,当我这样做时,它似乎没有导入任何东西。
文件结构:
prog.py
module/
__init__.py
code.py
prog.py
的代码:pass
__init__.py
的代码:import code
code.py
的代码:print('hello')
当我运行prog.py时没有任何反应。为什么不打印hello
,是否有更好的方法可以轻松导入子目录中的所有内容?
答案 0 :(得分:3)
如果您有以下结构:
package
__init__.py
module.py
在__init__.py
中你可以试试这个:
import package.module
或者这个:
from . import module
这样,如果package
中有PYTHONPATH
,您就会得到预期的行为:
>>> import package
hello
答案 1 :(得分:3)
将其放入prog.py
:
import module
Python只会加载导入的包或模块。
为了使它成功,你可能也需要jcollado的答案。
答案 2 :(得分:2)
假设您有这样的文件结构:
prog.py
module/
__init__.py
code.py
然后import module
会导入module/__init__.py
中的代码,import module.code
或from module import code
将导入module/code.py
中本地名称“module.code”下的代码或“代码”。