在python中导入自己的文件

在python中导入自己的文件,python,import,module,Python,Import,Module,想象一个main.py。 我有以下结构 ├── main.py ├── moduleX │   ├── setup.py │   ├── submoduleA │   │   └── fileA.py │   │   └── fileB.py │   ├── submoduleC │   │   └── fileC.py 主要调用moduleX.setup和setup需要从子模块A和B调用函数 但是moduleX.setup无法找到子模块,我不知道如何导入它们 所以它是这样的: 在main.p

想象一个main.py。 我有以下结构

├── main.py
├── moduleX
│   ├── setup.py
│   ├── submoduleA
│   │   └── fileA.py
│   │   └── fileB.py
│   ├── submoduleC
│   │   └── fileC.py
主要调用moduleX.setup和setup需要从子模块A和B调用函数

但是moduleX.setup无法找到子模块,我不知道如何导入它们

所以它是这样的: 在main.py中

import moduleX.setup
在setup.py中

from submoduleA import fileA
from submoduleA import fileB
import submoduleC
并且找不到所有子模块和文件

所有子文件夹都有空的init.py文件。我不知道如何填充它们,这似乎是一个递归问题

我尝试将moduleX添加到sys.path 我到处都试过PREX 我试着用。。和


我不知道我做错了什么。

Python总是使用您正在执行的文件的相对路径

from moduleX.submoduleA import fileA
from moduleX.submoduleA import fileB
import moduleX.submoduleC

应该可以工作

尝试将此文件添加到每个子目录中:
\uuuu init\uuuuuuuuuuupy
并像这样填充文件:
from.fileC import*
谢谢@Hanz。我的所有子目录都有_init__py文件,我最后不得不做一些奇怪的事情。但这是第一件事。我修改了init.py文件,从moduleX.submoduleA导入fileA中包含import moduleX.submoduleA,有时我需要将fileA称为submoduleA.submoduleA.fileA。很奇怪,但它起作用了。谢谢,解决这个问题的一个好方法是将每个子目录都设置为“lib”。创建一个init.py,其中包含您需要的所有文件或类,并且基于此导入,您可以访问子函数或类。这是您在导入numpy、pandas。。。