Python从模块子目录导入所有内容
我正试图从一个子目录导入所有文件,因此我想我可以在该子目录中编写Python从模块子目录导入所有内容,python,import,subdirectory,Python,Import,Subdirectory,我正试图从一个子目录导入所有文件,因此我想我可以在该子目录中编写\uuuu init\uuuu.py来导入文件。然而,当我这样做的时候,它似乎没有什么意义 文件结构: prog.py module/ __init__.py code.py package __init__.py module.py prog.py的代码:pass \uuuu init\uuuuu.py的代码:导入代码 Code.py的代码:print('hello') 当我运行prog.py时,什么都
\uuuu init\uuuu.py
来导入文件。然而,当我这样做的时候,它似乎没有什么意义
文件结构:
prog.py
module/
__init__.py
code.py
package
__init__.py
module.py
prog.py的代码
:pass
\uuuu init\uuuuu.py的代码
:导入代码
Code.py的代码
:print('hello')
当我运行prog.py时,什么都没有发生。为什么它不打印“hello”,有没有更好的方法可以轻松地从子目录导入所有内容?假设您的文件结构如下:
prog.py
module/
__init__.py
code.py
然后,
import module
将在module/\uuuu init\uuuuuuuuuuuuuuupy
中导入代码,import module.code>或from module import code
将在本地名称“module.code”或“code”下导入代码。如果您具有以下结构:
prog.py
module/
__init__.py
code.py
package
__init__.py
module.py
在\uuuu init\uuuuu.py
中,您可以尝试以下操作:
import package.module
或者这个:
from . import module
这样,如果包
在您的PYTHONPATH
中,您将获得预期的行为:
>>> import package
hello
将其放入prog.py
:
import module
Python将只加载导入的包或模块
要使其工作,您可能还需要jcollado的答案。您的文件结构没有显示任何目录……谢谢,这是一个疏忽。修复。我意识到这一点,但它没有回答我的任何问题。我意识到这一点,但它没有回答我的任何问题。再次阅读您的问题,我看到prog.py
仅包含pass
(无import
语句),并且您正在运行prog.py
。是这样吗?是的。据我所知,\uu init\uuuuuuuuuuupy
应该运行,然后从子目录导入code.py
,这样prog就可以访问它。@如果您必须显式导入包(即使它被称为模块
,请注意它是包)来执行\uuuu init\uuuuuuuuuupy
中的代码。