Я пытаюсь оценить некоторые представления python, которые находятся в отдельных папках для каждого ученика. Для этого существует функция, скажем, f(), которую я хочу запустить. Я понимаю, что если мой текущий путь такой же, как тот, в котором находится файл, я могу просто сделатьИмпорт Python из подпапок
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'? – eazar001
Вы добавляете папку 'student' на свой путь, а затем импортируете' run_this'. Это то, что другие ответы говорят вам делать, что вы пробовали, это не сработало? –
Дело не в том, что это не сработало так сильно, как казалось не изящным. Или, по крайней мере, добавление \ __ init __. Py выглядит довольно неудачным для меня - кажется, безнравственно изменить файловую структуру для доступа к подпапкам. Для изменения пути я читал, что это была плохая практика, но это похоже на разумное решение. – vmkrish