从子文件夹导入Python
问题描述
我正在尝试对每个学生单独文件夹中的一些Python提交内容进行评分。为此,有一个我想要运行的函数,比如f()。我明白,如果我的当前路径与文件所在的路径相同,我可以简单地执行
import filename
filename.f()
然而,有没有更好的方法?例如,假设目录结构如下:
main.py
student/run_this.py
我知道,如果学生文件夹中有"__init__.py"文件,我只需键入
import student.run_this
但是,如果没有该文件,它将无法工作。
我发现的一些类似问题
- Import module from subfolder
- How to do relative imports in Python?
- http://www.daniweb.com/software-development/python/threads/192000/import-from-a-subdirectory-of-a-directory-on-pythonpath
但这些答案都不是特别令人满意。
解决方案
在文件夹student
内创建__init__.py
模块,该模块应包含
from . import *
然后,您可以将学生文件夹中的任何模块调用到其父文件夹模块,作为
import student.module.py
如果您发布了您面临的任何其他错误,我们可以提供进一步帮助。
相关文章