我知道这是一个非常愚蠢的问题。而这一切都与基础知识有关。 但不幸的是,我的时间非常短,现在无法阅读Python书。
我有这个问题。 那么在GAE你是一个root main.py脚本。
我有两个存储在以下的类: HTMLParser的/ HTMLParser的 的HTMLParser / BfsHTMLParser
我无法将它们导入main.py
我做错了什么?
我在做:
import htmlparser
但我抓住了:
NameError:未定义全局名称“BfsHTMLParser”
非常感谢任何帮助。谢谢。
P.S。我也很感激任何有关Python基础知识的书籍建议:)
答案 0 :(得分:1)
from htmlparser import HTMLParser, BfsHTMLParser
编辑我担心这是非常基本的Python内容,如果不阅读Python教程,你就不会走得太远。 Python不是Java,这里的问题是你导入了模块,而不是类 - 在Python中它们不是同一个东西。
如果您的类名称与模块文件相同,那么现在您已导入模块,您需要通过HTMLParser.HTMLParser
或BfsHTMLParser.BfsHtmlParser
对其进行实例化。当然,你真的不应该打包这样的课程,但这就是你的情况。
答案 1 :(得分:0)
你在htmlparser目录中有__init__.py
吗?
答案 2 :(得分:0)
好的,目前我切换到BeautifulSoup 将BeatifulSoup放在root中,它正在工作。
但是打包逻辑代码块的问题仍然存在。