ОК, ребята, я не могу найти решение где-либо для моей проблемы, и я надеюсь, что решение является простым. Раньше у меня была плоская файловая система для моего проекта gae без папок. Я переформатировал некоторый код, и я попытался поместить его в папку. Я немного новичок, и я никогда раньше не делал ничего подобного, но ничто в Интернете не предполагает, что мне нелегко переместить мои файлы в папку. Я добавил файл __init__.py
в папку, и я импортирую имя папки из моей основной программы. Однако при попытке получить доступ к определенной функции в одном из файлов, он задыхается и говорит AttributeError: 'module' object has no attribute 'site1_ripper'
Импорт пользовательского пакета в python Google app engine
вот моя структура файла:
main.py
SiteCrawlers\
__init__.py
site1_ripper.py
здесь являются важными частями файлов:
main.py
import SiteCrawlers
class Updater(webapp.RequestHandler):
def get(self):
SiteCrawlers.site1_ripper.siteCrawler()
site1_ripper.py
def siteCrawler()
#stuff here
благодаря этим решил. Не могли бы вы расшириться на «если это не указано в' __init __. Py' »? – Milo
Если ваш файл '__init __. Py' имел строку' import site1_ripper', тогда он будет доступен, когда вы импортируете модуль в целом. Взгляните на [__init__.py] sqlite3 (http://svn.python.org/view/python/branches/release27-maint/Lib/sqlite3/__init__.py?view=markup) в стандартной библиотеке и попробуйте импортировать это в интерпретаторе python. Сравните эти два 'import sqlite3 как s; dir (s) 'и' import sqlite3.dbapi2 как t; реж (т) '. Они должны быть почти одинаковыми. – chmullig
Еще раз спасибо за вашу помощь. – Milo