импорт и структура модулей / классов Python - PullRequest
2 голосов
/ 10 декабря 2010

Я работаю над некоторыми базовыми элементами Python в движке приложений Google, и мне не удалось найти правильный способ структурирования моих обработчиков.

  • / main.py
  • /project / handlers / __ init __. py
  • / project / handlers / AccountHandler.py

AccountHandler в основном является классом

class AccountHandler(webapp.RequestHandler):

при использовании из проектаИмпорт .handlers Питон AccountHandler всегда дает мне

TypeError: объект 'module' не может быть вызван

как мне назвать / импортировать / структурировать мои классы?

ура, Мартин

Ответы [ 2 ]

6 голосов
/ 10 декабря 2010

Цитировать документы :

Модуль - это файл, содержащий определения и операторы Python. Имя файла - это имя модуля с добавленным суффиксом .py.

Импортируемый AccountHandler в этом случае - это модуль /project/handlers/AccountHandler.py. Файл AccountHandler.py не вызывается, и переводчик говорит вам об этом. Чтобы вызвать класс, который вы определили в вашем файле, просто используйте:

from project.handlers.AccountHandler import AccountHandler
# Alternately
# from project.handler import AccountHandler
# AccountHandler.AccountHandler() # will also work.
0 голосов
/ 10 декабря 2010

Вам необходимо переименовать init.py в __init__.py

...