![](/img/trans.png)
[英]Referring to Hydra's `conf` directory from a Python sub/sub-sub-directory module
[英]Importing modules from a “sub-sub-directory” in Python 3
我有一個目錄樹,看起來像以下內容(使用tree可視化):
.
├── __init__.py
└── testsubdir
├── __init__.py
└── testsubsubdir
├── __init__.py
└── __init__.pyc
主目錄中的__init__.py
包含命令import testsubdir
,而testsubdir
中的__init__.py
包含import testsubsubdir
。 我注意到的是,這在Python 2.7中有效,但在Python 3.5中無效:
kurt@kurt-ThinkPad:~/Documents/Scratch/testdir$ python __init__.py
kurt@kurt-ThinkPad:~/Documents/Scratch/testdir$ python3 __init__.py
Traceback (most recent call last):
File "__init__.py", line 1, in <module>
import testsubdir
File "/home/kurt/Documents/Scratch/testdir/testsubdir/__init__.py", line 1, in <module>
import testsubsubdir
ImportError: No module named 'testsubsubdir'
我正在努力將一些源代碼從Python 2“翻譯”到Python 3,其中包含與上述類似的import語句。 在Python 3中實現此目的的最佳方法是什么?
這個類似問題的答案建議使用相對導入:
在頂層__init__.py
:
from . import testsubdir
在testsubdir/__init__.py
:
from . import testsubsubdir
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.