我有几个包含python3无法处理的字符的文本文件。最麻烦的似乎是“结束”引号。你知道吗
我试着用以下方法读取文件:
with open(filename, 'r', errors='backslashreplace') as file:
text = file.read()
with open(filename, 'w', errors='backslashreplace') as file:
file.write(text)
在Notepad++中打开文件以查看字符时,突出显示xE2 x80
以指示非文本字符,在普通文本中后跟\x9d
。你知道吗
我看到this处理\xE2\x80\x9D
字符。在python REPL中,我可以手动创建一个像这样的bytes对象,将其解码为utf-8,并且在打印时显示为我期望的字符。我不知道为什么在读取文件时字符没有被正确理解。你知道吗
当读取文件时出现ignore
错误,而不是backslashreplace
,仍然会出现xE2 X80
字符,而且我还没有想出如何执行字符串操作来删除它们。你知道吗
最终,我的目标是用普通引号替换所有这些奇怪的引号。我可以想象有几种方法来实现这一点,但它们都要求我以某种方式寻址(或删除)这个xE2 X80
字符,或者正确地读取3字节的\xE2\x80\x9D
字符。你知道吗
指定编码类型应该可以解决这个问题。你可以这样做
相关问题 更多 >
编程相关推荐