Luk*_*lor 30 python directory-structure python-import python-3.x relative-import
在过去的一小时里,我一直在为我的包裹中的进口做斗争.
我有一个像这样的目录结构:
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
Run Code Online (Sandbox Code Playgroud)
我想访问代码script_b.py以及script_c.py来自的代码script_a.py.我怎样才能做到这一点?
如果我把一个简单的import script_b内部script_a.py,当我跑
from main_package.folder_1.folder_2 import script_b
Run Code Online (Sandbox Code Playgroud)
我遇到了一个
ImportError: no module named "script_b"
Run Code Online (Sandbox Code Playgroud)
为了访问script_c.py,我不知道.我无法找到有关访问两级文件的任何信息,但我知道我可以导入一级文件
from .. import some_module
Run Code Online (Sandbox Code Playgroud)
如何从中访问这两个文件script_a.py?
tob*_*spr 34
要从script_a访问script_c和script_b,您将使用:
from ...folder_3 import script_c
from . import script_b
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用python3,您可以通过使用以下命令从script_a导入script_b:
import script_b
Run Code Online (Sandbox Code Playgroud)
但是,您应该使用绝对导入:
from mypackage.folder_3 import script_c
from mypackage.folder1.folder2 import script_b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21485 次 |
| 最近记录: |