2013-04-23 12 views
0

Я работаю на такого рода структуры Por проекта в Python:Python импорт из путей

main.py  #must get all the classes from /handlers 
jhpy.py 
handlers/ #files must import jhpy without making meth code in the a, b, ... files 
     /a.py 
     /b.py 
     /... 
entities/ # files in handlers may need these. foo, bar, ... must import jhpy without making creepy code 
     /foo.py 
     /bar.py 
     /... 

Основная цель состоит в том, чтобы сделать все эти вещи, упомянутые работы, без необходимости делать sys.blah бла в каждом отдельном файле. Точка, не позволяйте a, b, foo, bar, ... иметь такой ужасный код.

Любые идеи? Я уверен, что мне придется делать больше файлов. Возможно, мне нужно будет добавить __init__.py, если да, что я должен писать в этих файлах? Эти «лишние» файлы должны выполнять грязную работу, поэтому, когда я добавляю новые файлы в /handlers и /entities, они остаются чистыми.

ответ

1

Все каталоги, которые вы хотите использовать в качестве модулей должны включать в файл с именем INIT .py

Структура проекта будет выглядеть следующим образом:

main.py  #must get all the classes from /handlers 
jhpy.py 
handlers/ 
     /__init__.py 
     /a.py 
     /b.py 
     /... 
entities/ 
     /__init__.py 
     /foo.py 
     /bar.py 
     /... 
Смежные вопросы