Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在子文件夹中导入多个python文件_Python - Fatal编程技术网

在子文件夹中导入多个python文件

在子文件夹中导入多个python文件,python,Python,我想在子文件夹sub1中导入python文件Loader。我要导入的这个文件在同一子文件夹中导入另一个文件detector。但是,Loader给出以下错误: ModuleNotFoundError:没有名为“detector”的模块 我已经尝试在Python和Java中使用exec命令 import sub1.Loader 文件夹结构如下所示: Project | +-- File_for_loading_Loader.py | +-- sub1

我想在子文件夹
sub1
中导入python文件
Loader
。我要导入的这个文件在同一子文件夹中导入另一个文件
detector
。但是,
Loader
给出以下错误:

ModuleNotFoundError:没有名为“detector”的模块

我已经尝试在Python和Java中使用exec命令

import sub1.Loader
文件夹结构如下所示:

Project
    | 
    +-- File_for_loading_Loader.py
    | 
    +-- sub1
         |  
         +-- __init__.py
         +-- Loader.py
         +-- detector.py
有人能帮忙吗

编辑

我现在使用:

    import subprocess
    subprocess.call(["python", "Loader.py"], cwd="sub1")

这样做很好。不需要相对导入等。

因为您创建了
sub1
作为模块,所以您必须像导入
sub1一样从中导入文件。


因此,对于您来说,它应该是sub1.detector import detect\u faces中的

您需要使用
import sub1.Loader as abc
将Loader导入
文件中,以便加载\u Loader.py


在Loader.py中,您需要使用
import sub1.detector as xyz导入检测器

如何在Loader.py中导入
detector
从detector import detect\u faces导入检测器
uhh,您的包结构似乎有问题。名称
sub1
意味着它是一个子模块,但是
Project
看起来不像一个模块。如果
Project
是一个模块,那么您的导入应该类似于
import Project.sub1.Loader
。在您的包中,您应该使用相对导入:
from.detector import detect\u faces
。Project只是我放入内容的主文件夹。它是我的回购协议的主文件夹。