2010-06-03 112 views
0

我需要一個項目feedparser(se http://www.feedparser.org),並希望將第三方模塊保存在一個單獨的文件夾中。我通過向python路徑添加一個文件夾並在其中放置相關模塊(其中包括feedparser)來完成此操作。feedparser - 各種錯誤

這第一次嘗試導入feedparser導致

>>> import feedparser 
Traceback (most recent call last): 
    File "", line 1, in 
    File "/home/users/me/modules/feedparser.py", line 1 
    ed socket timeout; added support for chardet library 
      ^
SyntaxError: invalid syntax

我發現文本「套接字超時;添加...」在評論在文件的底部,去除這些意見,並再次嘗試:

>>> import feedparser 
Traceback (most recent call last): 
    File "", line 1, in 
    File "/home/users/me/modules/feedparser.py", line 1 
    = [(key, value) for key, value in attrs if key in self.acceptable_attributes] 
    ^
IndentationError: unexpected indent

好的,所以有一些縮進錯誤。我確定了問題中的函數的縮進位置(將一些行分解爲無縮進)。並再次嘗試:

>>> import feedparser 
Traceback (most recent call last): 
    File "", line 1, in 
    File "/home/users/me/modules/feedparser.py", line 1 
    , value) for key, value in attrs if key in self.acceptable_attributes] 
    ^
SyntaxError: invalid syntax

多達我谷歌,我找不到任何錯誤的語法:

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) 

現在怎麼辦? 我的方法都錯了嗎?爲什麼我一直在一個看起來經過嚴格測試和信任的模塊中產生這些錯誤?

回答

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 
+0

「聽起來像是你feedparser.py的副本已損壞。「 這使我重新上傳文件到服務器。我以前做過幾次,但是傳輸MacFUSE的使用(拖放到查找窗口)。有了一個「正常」的FPT客戶端,事實證明你在哪裏是正確的;該文件以某種方式損壞。 感謝您的回答。 – Eiriks 2010-06-04 10:37:36

+0

謝謝你讓我知道。很高興現在已經修好了。 – mikej 2010-06-04 10:43:41