2013-10-31 70 views
0

我寫了一篇文章,想用python來計算文章中的單詞。我將這篇文章粘貼在一個python文本文件中並保存。我寫了一個計劃,通過文本文件進行迭代和算的話,但它不斷給我下面的錯誤:"UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 62: character maps to <undefined>"閱讀文件的Python問題

這是代碼:

def counter(file): 
    with open(file) as word: 
     count=0 
     for i in word: 
      words=i.split() 
      count+=words 
     print(count) 

文件名essay.txt

它不會工作。即使當我嘗試在shell上打開essay.txt時,它也不起作用。 我試過以下內容:

infile = open('essay.txt') 
word=infile.read() 
print(word) 

這也行不通。我該怎麼辦?請幫忙。謝謝

+0

您是否檢查文件的位置62? – Theresa

回答

1

嘗試

open('essay.txt', encoding ='utf-8') 

它可以被檢測到的錯誤編碼類型。如果不是utf-8,請嘗試latin1

0

我試圖重新創建您的問題,但我無法這樣做。我將essay.txt文件保存爲utf-8編碼樣式,因此可能與您使用的設置不同。正在爲我工​​作的代碼如下。

def counter(file): 
    with open(file) as word: 
     count=0 
     for i in word: 
      words=i.split() 
      count += len(words) 
     print(count) 
counter("essay.txt") 

我做了一些改動。對於word中的每個i,我相信您希望len()函數可以返回線上的單詞總數。然後,您可以將該行上的單詞數添加到文檔的總計數中。 Python 3.3.0現在適用於我。讓我知道如果我誤解了!

謝謝。