cod*_*ter 0 python io byte-order-mark file
我有一堆文本文件,其中包含字节顺序标记 (BOM),并且它们还具有 CRLF (\r\n) 结尾来标记行尾。例如,这是八进制转储片段:
$ od -bc P21_T_3-28-2022.txt
0000000 357 273 277 163 164 141 147 145 040 061 015 012 120 154 141 171
357 273 277 s t a g e 1 \r \n P l a y
0000020 151 156 147 040 164 150 145 163 145 040 164 167 157 040 147 141
i n g t h e s e t w o g a
0000040 155 145 163 054 040 162 145 155 151 156 144 145 144 040 155 145
m e s , r e m i n d e d m e
0000060 040 157 146 040 164 151 155 145 163 040 164 150 141 164 040 111
o f t i m e s t h a t I
<snip>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码来读取文件:
lines = open(file, "r", encoding='utf-8').read().splitlines()
print(lines[0])
Run Code Online (Sandbox Code Playgroud)
第一行打印如下,没有 CRLF:
'\ufeffstage 1'
Run Code Online (Sandbox Code Playgroud)
读取时如何去掉BOM字符?
小智 5
也许您需要指定encoding为utf-8-sig:
lines = open(file, "r", encoding='utf-8-sig').read().splitlines()
print(lines[0])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |