从同一子目录导入模块

2024-05-06 12:00:44 发布

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

我有一个主项目文件夹,里面有一个.py文件,还有一个子目录,里面有两个.py文件。从主文件(main.py)创建子目录文件(subFile.py)的对象。然后,子目录文件导入另一个子目录文件(header\u footer.py),它是FPDF的子类。我得到错误:ModuleNotFoundError:没有名为“header\u footer”的模块。我试过到处乱扔导入语句,尽我所能,有句点,没有句点,但我不知道哪个版本是正确的。我甚至在每个目录中都放了空白的init.py文件,因为我听说这可以修复它

以下是文件结构:

Project
└── __init__.py
└── main.py
└── Sub
    └── __init__.py
    └── subFile.py
    └── header_footer.py

这是三个文件。我制作的测试文件与我的代码结构非常匹配,没有其他的修饰

main.py

from Sub.subFile import *

testObject = subFile()
print("Success")

子文件.py

from fpdf import FPDF
from header_footer import *

class subFile:
    def __init__(self):
        self.name = "garbage"
        pdf = header_footer()

页眉页脚.py

from fpdf import FPDF

class header_footer(FPDF):
    def __init_subclass__(self):
        self.name = "blank"

Tags: 文件frompyimportselfinitmain结构