如何将Python模块导入到同一根目录但不同的子目录中?

2022-09-28 21:37:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个名为“API”的父文件夹中有许多Python文件,我正在尝试将它们链接在一起:

API/auth/module1.py
API/subfolder/prgm.py

从父文件夹到子文件夹,我有一个init.py文件,其中包含要调用的路径或程序名,但是当我转到execute'/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公司':

from API.auth import module1

这个问题与前面的问题有点不同,因为我正在尝试获取一个python脚本,该脚本已经在一个子文件夹中,可以访问另一个子文件夹中的模块,但是在同一个父“API”文件夹下。前面的问题涉及python脚本基于父文件夹,调用子文件夹中的模块。你知道吗


Tags: 模块文件frompyimport脚本文件夹authapi链接公司module1modulesubfolderprgm
2条回答
网友
1楼 ·

从中尝试“”。身份验证导入模块1“”可能是?你知道吗

网友
2楼 ·

如果您真的需要运行API/子文件夹/prgm.py公司进而导入API/auth/module1.py

在prgm.py公司您可以将父目录(即“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

热门问题