【问题标题】:How to configure Python so that I can import a function directly from package?如何配置 Python 以便我可以直接从包中导入函数?
【发布时间】:2021-11-08 02:16:07
【问题描述】:

假设我有一个类似的包结构

pkg
   __init__.py
   module
      __init__.py
      a.py
      b.py

假设a.py中有一个函数func。我想创建一个库,可以直接从 pkg 导入 func

from pkg import func

我怎样才能做到这一点?

【问题讨论】:

    标签: python python-3.x module python-import


    【解决方案1】:

    您可以通过__init__.py 进行配置。

    pkg/__init__.py

    from .module.a import func
    

    这样当pkg被访问时,__init__.py会被加载,从而允许直接访问pkg.func

    这是documented:

    常规包通常实现为包含__init__.py 文件的目录。导入常规包时,会隐式执行此 __init__.py 文件,它定义的对象将绑定到包名称空间中的名称。 __init__.py 文件可以包含与任何文件相同的 Python 代码其他模块可以包含,Python在导入时会为模块添加一些额外的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      • 2021-01-08
      相关资源
      最近更新 更多