【发布时间】:2013-02-19 19:14:24
【问题描述】:
我正在尝试为每个学生在不同文件夹中的一些 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
但这些都没有给出特别令人满意的答案。
【问题讨论】:
-
那么
__init__.py文件到底有什么问题? -
您将
student文件夹添加到您的路径,然后导入run_this。这就是其他答案告诉您要做的事情,您尝试了什么不起作用? -
这并不是说它没有那么好用,因为它看起来并不优雅。或者至少,添加 _init_.py 对我来说似乎很令人反感 - 修改文件结构以访问子文件夹似乎是不道德的。对于改变路径,我读到这是不好的做法,但它似乎是一个合理的解决方案。
标签: python python-3.x python-import