Python 3:从分散的目录和文件导入文件/模块



我有以下目录结构:

/home/pi
- project/
- p1v1.py
- tools1/
- __init__.py
- tools1a/
- __init__.py
- file1.py
- file2.py
- tools1a1/
- __init__.py
- file3.py
- file4.py
- tools1a2/
- __init__.py
- file5.py
- file6.py

我正在尝试将所有模块从file1.py导入到我的项目文件中p1v1.py

from file1 import *

但最终得到

ImportError: attempted relative import with no known parent package

ValueError: Attempted relative import in non-package

取决于我在p1v1.py中使用的功能,因为file1.py中的功能取决于file3.pyfile4.py。 我想使用显式导入(为了清楚起见(,但我不确定如何做到这一点。任何建议将不胜感激。

谢谢!

通过反复试验,最终想出了解决这个问题的方法:

import sys
sys.path.insert(0,'..')
from tools1.tools1a.file1 import function as f1

注意:为此,我需要在工作目录/home/pi/project/之外编辑和执行我的脚本p1v1.py。希望这对其他有类似问题的其他人有所帮助!

最新更新