猿问

如何跨文件结构导入类和文件;__init__.py 混乱

我无法弄清楚这些进口。除了 1 之外,我已经在文件结构的最深层次上工作了。


文件结构为:


| rootDir

|--- file1.py (main.py)

|--- appDir

|------ schema1Dir

|--------- file2.py (etlProcess.py)

|--------- file3.py (recordTable.py)

|------ schema2Dir

|--------- ... 

|------ ...

我被困在哪里:


file2.py 正在尝试从同一目录导入 file3.py 以触发该文件中的类。我收到一个错误。


没有名为“file3”的模块


我尝试__init__.py在每个目录中包含文件,完全删除这些文件,只将这些文件放在某些目录中,等等。我在 Google 搜索中找到的所有解决方案,但我无法让它工作。


这是 VS Code 的屏幕截图,可以更好地可视化这一点..

森栏
浏览 118回答 1
1回答

jeck猫

Python 导入始终相对于运行 Python 解释器的目录,在您的情况下是源根目录 at ~/projects/companynurse/busterEtl,因此为了etlProcess.pyimport recordTable.py,它应该使用带有完整包路径的绝对导入:from application.facilities import recordTable或使用带 a 的相对导入.来显式定位recordTable.py在同一目录中:from . import recordTable
随时随地看视频慕课网APP

相关分类

Python
我要回答