Python 从子文件夹导入模块

12 投票
1 回答
22070 浏览
提问于 2025-04-17 17:59

我正在尝试给一些学生提交的Python作业打分,这些作业都放在各自的文件夹里。为了做到这一点,我有一个函数,比如说叫f(),我想运行它。我知道如果我当前的路径和文件所在的路径是一样的,我可以直接这样做:

import filename
filename.f()

但是,有没有更好的方法呢?比如说,假设文件夹结构是这样的:

main.py
student/run_this.py

我知道如果学生文件夹里有一个"__init__.py"文件,我可以直接输入:

import student.run_this

但是,如果没有这个文件,就不行了。

我找到了一些类似的问题:

但这些问题都没有给出特别令人满意的答案。

1 个回答

11

在名为 student 的文件夹里创建一个 __init__.py 文件,这个文件应该包含以下内容:

from . import *

这样你就可以从 student 文件夹里调用任何模块到它的上级文件夹的模块,方法是:

import student.module.py

如果你遇到其他错误,可以把错误信息发出来,我们可以进一步帮助你。

撰写回答