Python从子文件夹导入

Vik*_*esh 12 python python-import python-3.x

我试图为每个学生在单独的文件夹中对一些python提交进行评分.要做到这一点,有一个函数,比如我想运行的f().我知道如果我当前的路径与文件所在的路径相同,我可以这样做

import filename
filename.f()
Run Code Online (Sandbox Code Playgroud)

但是,还有更好的方法吗?例如,假设目录结构如下:

main.py
student/run_this.py
Run Code Online (Sandbox Code Playgroud)

我知道如果学生文件夹中有"__init__.py"文件,我可以输入

import student.run_this
Run Code Online (Sandbox Code Playgroud)

但是,没有该文件,它不起作用.

我发现的一些类似问题

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

Mat*_*mar 9

__init__.pystudent应该包含的文件夹中创建一个模块

from . import *
Run Code Online (Sandbox Code Playgroud)

然后,您可以将学生文件夹中的任何模块调用到其父文件夹模块中

import student.module.py
Run Code Online (Sandbox Code Playgroud)

如果您发布任何其他错误,我们可以提供进一步的帮助.