I am attempting to grade some python submissions that are in separate folders for each student. To do this, there is a function, say f() which I want to run. I understand that if my current path is the same as the one where the file is located, I can simply do
import filename
filename.f()
However, are there better ways? For instance, let's say the directory structure is as follows:
main.py
student/run_this.py
I know that if there is a "__init__.py" file in the student folder, I can just type
import student.run_this
However, without that file, it doesn't work.
Some similar questions I found were
- 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
but none of these gave particularly satisfying answers.
1 Answer 1
create an __init__.py module inside the folder student which should contain
from . import *
You can then call any modules from student folder to its parent folder modules as
import student.module.py
If you post any other errors you are facing, we can help further.
__init__.pyfile?studentfolder to your path, then importrun_this. That's what the other answers tell you to do, what did you try that didn't work?