совместно использовать Python хранилища данных между модулями в движке приложения Google

Я изучаю GAE, я пытаюсь создать приложение с двумя модулями: модулем по умолчанию и модулем подсчета. Модуль Count увеличивает значение объекта Count в хранилище данных на 1 каждую минуту. модуль по умолчанию обращается к объекту Count и показывает его текущее значение.

I setup default module as index.py in root directory.
 Count object in Global.py in /global/
 Count-module as count.py in /count/

Я могу получить доступ к форме объекта Count index.py через:

import sys
   sys.path.append(os.path.join(os.path.dirname(__file__), "global"))
   from Global import Count

Но я не могу получить доступ к объекту Count из count.py в модуле count:

 sys.path.append(os.path.join(os.path.dirname(__file__), 
                                            "..",
                                            "global")
                   )
   from Global import Count

--> ImportError: Нет модуля с именем Global Кто-нибудь мне поможет?


person Trọng Khiêm Trần    schedule 25.02.2015    source источник


Ответы (1)


Вам не нужны папки, но если вы используете пустые __init__.py внутри каждой, чтобы сделать их модулями Python. Структура вашего проекта может быть:

index.py
count.py
global.py

После этого вы сможете импортировать файлы из каждого модуля без изменения sys.path. Если вам нужны папки, прочитайте этот ответ Для чего нужен __init__.py?.

Upd. Кстати, использовать global для имени модуля — плохая идея. Это зарезервированное слово.

person Mikhail Kashkin    schedule 25.02.2015