【问题标题】:import submodule then call function from script [duplicate]导入子模块然后从脚本调用函数[重复]
【发布时间】:2019-06-28 22:14:13
【问题描述】:

我确定这一定是重复的,但我找不到答案。

我有以下设置:

example
├── __init__.py
├── submod
│   ├── __init__.py
│   ├── subscript1.py
│   └── subscript2.py
└── toplevel.py

subscript1 中有一个函数,当我从命令行运行时,我想在 toplevel 中调用它:

python toplevel.py

我可以执行以下操作并且它有效:

from submod import subscript1
subscript1.my_func()

但我想做的是:

import submod
submod.subscript1.my_func()

这是一个错误:

AttributeError: module 'submod' has no attribute 'subscript1'

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    submod\__init__.py(我假设它现在是空的)中,添加以下行:

    from . import subscript1
    

    这使得subscript 模块可以直接在submod 模块中访问。

    注意:项目根目录中的__init__.py 不是必需的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-24
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      相关资源
      最近更新 更多