我在一个名为“ API”的父文件夹中有许多Python文件,我正在尝试将它们链接在一起:
API / auth / module1.py
API / subfolder / prgm.py
从父文件夹到子文件夹,我有一个 init .py文件,该文件包含要调用的路径或程序名称,但是当我执行具有以下内容的'/subfolder/prgm.py'时,调用导入“ module1.py”,执行时出现以下错误:
machine01% ./prgm.py
Traceback (most recent call last):
File "./prgm.py", line 2, in <module>
from API.auth.module1 import authFunction
ModuleNotFoundError: No module named 'API'
这是我在'prgm.py'中的import
语句:
from API.auth import module1
此问题与先前的问题有所不同,因为我试图获取一个子文件夹中已经存在的python脚本,以访问另一个子文件夹中但在同一父“ API”文件夹下的模块。先前的问题涉及基于父文件夹的python脚本和位于子文件夹中的调用模块。
答案 0 :(得分:1)
尝试从。auth导入模块1“”“尝试”“”吗?
答案 1 :(得分:1)
如果您确实需要运行API / subfolder / prgm.py,然后依次导入API / auth / module1.py
在prgm.py中,您可以向sys.path中添加一个父目录(即“ API”),如下所示:
import os, sys, inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0,parentdir)
现在您可以从“ API”内部导入任何内容:
from auth import module1