Python导入子目录

时间:2012-01-21 09:34:58

标签: python import subdirectory

我正在尝试从子目录导入所有文件,所以我想我可以在该子目录中编写__init__.py来导入文件。但是,当我这样做时,它似乎没有导入任何东西。

文件结构:

prog.py
module/
    __init__.py
    code.py

prog.py的代码:pass

__init__.py的代码:import code

code.py的代码:print('hello')

当我运行prog.py时没有任何反应。为什么不打印hello,是否有更好的方法可以轻松导入子目录中的所有内容?

3 个答案:

答案 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.codefrom module import code将导入module/code.py中本地名称“module.code”下的代码或“代码”。