Python:从目录内的文件导入该目录

2 投票
2 回答
23 浏览
提问于 2025-04-14 15:52

抱歉,如果标题让人困惑,因为英语不是我的母语。我遇到的问题是运行一个 Python 脚本,这个脚本需要导入它自己所在文件夹里的内容。文件夹的结构如下:

MyProject 
    |--Utils
          |-- util
          |     |-- __init__.py
          |     |-- run.py
          |-- __init__.py
          |-- test.py

而 test.py 的代码如下:

import Utils.util

if __name__ == '__main__':
   # Do something

当我运行 test.py 时,出现了这个错误:

ModuleNotFoundError: No module named 'Utils'

有没有什么方法可以让导入命令适应这个文件夹结构?如果可以的话,能不能帮我给这个问题起个名字,以便我更好地搜索?

我尝试在根文件夹创建一个新的脚本,那个脚本可以正常运行。但是,如果我想把像 test.py 这样的测试代码存放在模块化的文件夹里,导入命令就无法正常工作了。

2 个回答

2

你的项目结构格式不太对,不过我觉得在你的情况下这样做应该可以:

from .Utils import utils
1

出现“ModuleNotFoundError: No module named 'Utils'”这个错误,是因为Python在查找模块时,不会自动在子目录里找,除非这些子目录被当作包来处理。

from .util import

撰写回答