【问题标题】:feedparser - various errorsfeedparser - 各种错误
【发布时间】:2011-02-27 06:19:20
【问题描述】:

我需要一个项目的 feedparser (se http://www.feedparser.org),并希望将第三方模块保存在单独的文件夹中。为此,我在我的 python 路径中添加了一个文件夹,并将相关模块放在那里,其中包括 feedparser。

第一次尝试导入 feedparser 导致

>>> 导入 feedparser
回溯(最近一次通话最后):
  文件“”,第 1 行,在
  文件“/home/users/me/modules/feedparser.py”,第 1 行
    ed 套接字超时;添加了对 chardet 库的支持
            ^
SyntaxError: 无效语法

我在文件底部的 cmets 中找到了文本“socket timeout; added...”,删除了这些 cmets,然后重试:

>>> 导入 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)

现在呢? 我的方法全错了吗?为什么我在一个看起来经过充分测试和信任的模块中不断产生这些错误?

【问题讨论】:

    标签: python feedparser


    【解决方案1】:

    第一个错误听起来像是您的 feedparser.py 副本已损坏。文件的最后一行应该完全是注释:

    #4.1 - MAP - removed socket timeout; added support for chardet library
    

    听起来好像引入了换行符,导致文件末尾的语句无效:

    #4.1 - MAP - remov
    ed socket timeout; added support for chardet library
    

    【讨论】:

    • “听起来您的 feedparser.py 副本已损坏。”这让我重新将文件上传到服务器。我以前做过几次,但是虽然传输了 MacFUSE 的使用(拖放到查找器窗口)。使用“正常”的 FPT 客户端,结果证明您是正确的;该文件以某种方式损坏。谢谢你的回答。
    • 感谢您告诉我。很高兴它现在已修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多