加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从另一个包导入python模块

发布时间:2020-12-20 13:41:21 所属栏目:Python 来源:网络整理
导读:我有一个具有以下结构的脚本 ./ /foo __init__.py /bar __init__.py module.py 我想在foo和bar包上使用module.py,但我找不到导入它的方法! 我可以将模块放在两个包中,但如果我需要进行任何更改,我将不得不在两个包中进行. 解决方法 假设我们有这样的结构,这
我有一个具有以下结构的脚本

./
    /foo
       __init__.py
    /bar
       __init__.py
    module.py

我想在foo和bar包上使用module.py,但我找不到导入它的方法!

我可以将模块放在两个包中,但如果我需要进行任何更改,我将不得不在两个包中进行.

解决方法

假设我们有这样的结构,这实际上有点棘手:

├── bar
│?? ├── __init__.py
│?? └── some_bar.py
├── foo
│?? ├── __init__.py
│?? └── some_foo.py
└── something.py

从some_foo.py中的something.py获取对象的正确方法是添加:

# foo/some_foo.py
from something import some_module

然后从顶级目录运行some_foo作为模块,使用-m选项如下:

python -m foo.some_foo

在something.py中添加一些print语句来测试它,如果一切正常,你应该在运行some_foo后看到something.py的一些输出.记住你需要从顶层运行some_foo,而不是从foo目录运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读