python带bom的utf-8-sig如何去掉bom
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python带bom的utf-8-sig如何去掉bom相关的知识,希望对你有一定的参考价值。
在此列举以下两种去除方法:
(1)在notepad++等高级记事本中可以直接转换为无BOM格式的utf-8文件
(2)用python脚本解决
BOM时一串16进制字符串,在python中表示为 “b'\\xef\\xbb\\xbf'”
如果在分词之后出现BOM字符串,可以判断词是否等于“b'\\xef\\xbb\\xbf'”去除即可
去除文本文件中BOM头的脚本
#!/usr/bin/env python3# -*- coding: utf-8 -*-
def removeBom(file):
'''移除UTF-8文件的BOM字节'''
BOM = b'\\xef\\xbb\\xbf'
existBom = lambda s: True if s==BOM else False
f = open(file, 'rb')
if existBom( f.read(3) ):
fbody = f.read()
#f.close()
with open(file, 'wb') as f:
f.write(fbody) 参考技术A #!/usr/bin/env python3
# -*- coding: utf-8 -*-
def removeBom(file):
'''移除UTF-8文件的BOM字节'''
BOM = b'\\xef\\xbb\\xbf'
existBom = lambda s: True if s==BOM else False
with open(file, 'rb') as fr:
if existBom( fr.read(3) ):
fbody = fr.read()
#f.close()
with open(file, 'wb') as fw:
fw.write(fbody)
以上是关于python带bom的utf-8-sig如何去掉bom的主要内容,如果未能解决你的问题,请参考以下文章
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0