我需要一个项目的 feedparser (se http://www.feedparser.org ),并希望将第三方模块保存在一个单独的文件夹中。为此,我在我的 python 路径中添加了一个文件夹,并将相关模块放在那里,其中包括 feedparser。
第一次尝试导入 feedparser 导致
>>> 导入 feedparser 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/home/users/me/modules/feedparser.py”,第 1 行 ed 套接字超时;添加了对 chardet 库的支持 ^ SyntaxError:无效的语法
我在文件底部的注释中找到了文本“socket timeout; added...”,删除了这些注释,然后再次尝试:
>>> 导入 feedparser 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/home/users/me/modules/feedparser.py”,第 1 行 = [(key, value) for key, value in attrs if key in self.acceptable_attributes] ^ IndentationError:意外缩进
好的,所以有些缩进错误。我确保有问题的函数中的缩进可以(将某些行分解为无缩进)。并再次尝试:
>>> 导入 feedparser 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/home/users/me/modules/feedparser.py”,第 1 行 , value) for key, value in attrs if key in self.acceptable_attributes] ^ SyntaxError:无效的语法
正如我谷歌一样,我找不到语法有任何问题:
def unknown_starttag(self, tag, attrs):
if not tag in self.acceptable_elements:
if tag in self.unacceptable_elements_with_end_tag:
self.unacceptablestack += 1
return
attrs = self.normalize_attrs(attrs)
attrs = [(key, value) for key, value in attrs if key in self.acceptable_attributes]
_BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
怎么办?我的方法全错了吗?为什么我在一个看起来经过充分测试和信任的模块中不断产生这些错误?