gpt4 book ai didi

Python 相对导入脚本向上两级

转载 作者:IT老高 更新时间:2023-10-28 22:12:27 25 4
gpt4 key购买 nike

在过去的一个小时里,我一直在为我的包裹中的导入而苦苦挣扎。

我有一个这样的目录结构:

main_package
|
| __init__.py
| folder_1
| | __init__.py
| | folder_2
| | | __init__.py
| | | script_a.py
| | | script_b.py
|
| folder_3
| | __init__.py
| | script_c.py

我想访问 script_b.py 中的代码以及 script_a.py 中的 script_c.py 中的代码。我该怎么做?

如果我在 script_a.py 中放置一个简单的 import script_b,当我运行时

from main_package.folder_1.folder_2 import script_b

我遇到了一个

ImportError: no module named "script_b"

对于访问 script_c.py,我不知道。我找不到任何有关访问上两层文件的信息,但我知道我可以导入上一层文件

from .. import some_module

如何从 script_a.py 访问这两个文件?

最佳答案

要从 script_a 访问 script_c 和 script_b,您可以使用:

from ...folder_3 import script_c
from . import script_b

或者如果你使用python3,你可以从script_a中导入script_b,只需使用:

import script_b

但是,您可能应该使用绝对导入:

from mypackage.folder_3 import script_c
from mypackage.folder1.folder2 import script_b

另见:Absolute vs Relative imports

关于Python 相对导入脚本向上两级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36826839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com