2012-02-01 68 views
0

我知道这是一个非常愚蠢的问题。这都是关于非常基础的。 但不幸的是,我的时间很短,现在无法阅读Python书籍。GAE导入类(Python)

我有这个问题。 那么在GAE你是一个root main.py脚本。

而且我已经被存储在两个类: 的HTMLParser/HTMLParser的 的HTMLParser/BfsHTMLParser

我不能将其导入到main.py

我在做什么错?

我做:

import htmlparser 

但是我赶上:

NameError: global name 'BfsHTMLParser' is not defined

希望得到任何帮助。谢谢。

p.s.我还希望了解关于Python基础的任何一本书的建议是这样:)

+0

我也尝试过'import htmlparser.BfsHTMLParser' - 我得到'NameError:全局名'BfsHTMLParser'没有定义' – momijigari 2012-02-01 15:11:31

回答

1
from htmlparser import HTMLParser, BfsHTMLParser 

编辑恐怕这实在是基本的Python的东西,你是不会得到远没有读一个Python教程。 Python不是Java,这里的问题是你已经导入了模块,但不是类 - 在Python中它们不是同一件事。

如果您的模块文件名称与您的模块文件相同,现在您已导入模块,则需要通过HTMLParser.HTMLParserBfsHTMLParser.BfsHtmlParser实例化它们。当然,你真的不应该打包那样的类,但这是你的情况。

+0

谢谢!但是现在我抓到了'TypeError:'module'object is not callable' – momijigari 2012-02-01 18:11:50

+0

thanks。但是一个包应该怎么样呢?我习惯了ActionScript和Java的逻辑层次结构,是的。而且我有自由以其他方式打包它们。 – momijigari 2012-02-01 18:57:46

0

在htmlparser目录中是否有__init__.py

+0

No-o-o :)但是它应该包含什么? – momijigari 2012-02-01 18:49:58

+0

试试只是一个空白文件开始 – 2012-02-01 22:47:53

+0

然后我得到'第58行,得到 解析器= BfsHTMLParser() TypeError:'模块'对象不可调用' – momijigari 2012-02-02 00:03:56

0

好吧,目前我切换到了BeautifulSoup 把BeatifulSoup放在根目录下,它正在工作。

但是打包逻辑代码块的问题仍然存在。