繁体   English   中英

Python从模块子目录导入所有内容

[英]Python importing everything from module subdirectory

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

文件结构:

prog.py
module/
    __init__.py
    code.py

prog.py代码: pass

__init__.py import codeimport code

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

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

如果您有以下结构:

package
  __init__.py
  module.py

__init__.py你可以试试这个:

import package.module

或这个:

from . import module

这样,如果package在您的PYTHONPATH ,您将获得预期的行为:

>>> import package
hello

把它放在prog.py

import module

Python 只会加载导入的包或模块。

为了使它工作,您可能还需要 jcollado 的答案。

假设你有一个这样的文件结构:

prog.py
module/
    __init__.py
    code.py

然后import module将导入module/__init__.py的代码并import module.codefrom module import code将在本地名称“module.code”或“code”下导入module/code.py的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM