2017-07-26 32 views
0

我使用Python 2.7,並試圖用下面的代碼錯誤而使用PIP

import wikipedia 

input = raw_input("Question: ") 
print wikipedia.summary(input) 

我看到這個錯誤上班進口維基百科的代碼在運行時:

Traceback (most recent call last): File "wik.py", line 5, in print wikipedia.summary(input) File "C:\Anaconda2\lib\encodings\cp437.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode character u'\u2013' in position 38: character maps to undefined

我怎樣才能解決這個問題?提前致謝。

+0

你輸入了什麼輸入? –

+0

你有沒有試過'print wikipedia.summary(input).encode('utf8')'? –

回答

1

Python 2默認爲ASCII,它只映射\ u0000和\ u007F1之間的字符。您需要使用不同的編碼才能正確獲取此字符(\ u2013是一個很長的短劃線)以及ASCII之外的其他許多編碼。

使用UTF-8應該爲你工作,我相信這print語句將正確輸出文本:

print wikipedia.summary(input).encode("utf8") 

有關它的更多信息,請查看此類似的問題:UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 3 2: ordinal not in range(128)

+0

是的,它的工作。謝謝。這個陳述會在Python 3中工作嗎? –

+0

你需要改變的唯一事情就是使用括號和print(Python 2和3之間的語法差異)。 – mjmccolgan