尝试使用Python 3读取UTF-8 XML文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试使用Python 3读取UTF-8 XML文件相关的知识,希望对你有一定的参考价值。
我试图用Python 3读取UTF-8 XML文件,但我真的遇到编码问题:
In [47]: fileObj = codecs.open(file, "r", "utf-8")
In [48]: fileObj.read()
Out[48]: ---------------------------------------------------------------------------
UnicodeEncodeError Traceback (most recent call last)
<ipython-input-48-dd7cd49f4aa8> in <module>()
----> 1 fileObj.read()
~/Documents/Projects/project/env/lib/python3.6/site-packages/IPython/core/displayhook.py in __call__(self, result)
259 self.fill_exec_result(result)
260 if format_dict:
--> 261 self.write_format_data(format_dict, md_dict)
262 self.log_output(format_dict)
263 self.finish_displayhook()
~/Documents/Projects/project/env/lib/python3.6/site-packages/IPython/core/displayhook.py in write_format_data(self, format_dict, md_dict)
188 result_repr = '
' + result_repr
189
--> 190 print(result_repr)
191
192 def update_user_ns(self, result):
UnicodeEncodeError: 'ascii' codec can't encode character 'u20ac' in position 1630: ordinal not in range(128)
哪里错了?
答案
马克是对的,我的问题出在iPython上。
我解决了将PYTHONIOENCODING
env变量设置为utf-8
的问题:
export PYTHONIOENCODING="utf-8"
谢谢!
以上是关于尝试使用Python 3读取UTF-8 XML文件的主要内容,如果未能解决你的问题,请参考以下文章
Python - 使用 utf-8 编码读取和写入 csv 文件
python读取xml文件报错ValueError: multi-byte encodings are not supported