0
从Jupyter IPython的笔记本电脑运行时,下面的代码工作正常:BeautifulSoup代码在IPython的笔记本电脑,但不蚀
from bs4 import BeautifulSoup
xml_file_path = "<Path to XML file>"
s = BeautifulSoup(open(xml_file_path), "xml")
但在Eclipse/PyDev的(使用相同的Python运行时产生的汤时失败解释器):
Traceback (most recent call last):
File "~/parser/scratch.py", line 3, in <module>
s = BeautifulSoup(open(xml_file), "xml")
File "/anaconda/lib/python3.5/site-packages/bs4/__init__.py", line 175, in __init__
markup = markup.read()
File "/anaconda/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 1812: ordinal not in range(128)
- Python版本:3.5.2(阿纳康达4.1.1)
- BeautifulSoup:版本4
- IPython的笔记本版本:4.2.1
- Eclipse版本:Mars.2版本(4.5.2)
- PyDev的版本:5.1.2.20160623256
- 的Mac OS X:埃尔卡皮坦10.11.6
更新: 在Eclipse中导致问题的文件中的字符是�
,但这不会导致IPython Notebook中出现问题!如果我从XML文件中删除这个字符,那么代码在Eclipse中也能正常工作。在Eclipse中是否有一些设置需要更改,以便代码不会在此(也可能是其他此类)字符上失败?
[UnicodeDecodeError:'ascii'编解码器无法解码位置1中的字节0xef](http://stackoverflow.com/questions/10561923/unicodedecodeerror-ascii-codec-cant-decode-byte-0xef- in-position-1) – DyZ
@DYZ - 这里没有打印。它发生在我创造汤时。 – arun
您是否试过'open(xml_file_path,“utf-8”)'? –