【问题标题】:Error while importing Wikipedia using pip使用 pip 导入维基百科时出错
【发布时间】:2018-01-02 03:36:47
【问题描述】:

我正在使用 Python 2.7 并尝试使用以下代码

import wikipedia

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

我在运行代码时看到这个错误:

Traceback(最近一次调用最后一次):文件“wik.py”,第 5 行,在 打印 wikipedia.summary(input) 文件“C:\Anaconda2\lib\encodings\cp437.py”,第 12 行,在编码中 return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode character u'\u2013' 在第 38 位:字符映射到未定义

我该如何解决这个问题?提前致谢。

【问题讨论】:

  • 你输入的是什么?
  • 你试过print wikipedia.summary(input).encode('utf8')吗?

标签: python python-2.7 character-encoding


【解决方案1】:

Python 2 默认为 ASCII,它只映射 \u0000 和 \u007F1 之间的字符。您需要使用不同的编码才能正确获取此字符(\u2013 是一个长破折号)以及 ASCII 之外的许多其他字符。

使用 UTF-8 应该适合你,我相信这个打印语句会正确输出文本:

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

有关这方面的更多信息,请查看以下类似问题:UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 3 2: ordinal not in range(128)

【讨论】:

  • 是的,它奏效了。谢谢。该语句在 Python 3 中是否有效?
  • 您唯一需要更改的是使用括号和 print(Python 2 和 3 之间的语法差异)。
猜你喜欢
  • 2013-11-13
  • 2019-04-18
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 2012-09-01
  • 2015-03-26
相关资源
最近更新 更多