Re: [討論] file BOM
啊,感謝 holio
原來有這種硬猜 encoding 的 lib XD
不過我想要的是幫我開檔案吐 unicode string 給我的東西,
有一點點不太一樣 :p
用 chardet 省掉自己列舉 BOM 的功夫,
沒有 BOM 的 file 他也可以猜,這點很棒
可是他不會告訴我這檔案有沒有 BOM,所以我還是要自己認 o.o
比如說
>>> import chardet, codecs
>>> encoding = chardet.detect(open(file_path, 'rb').read(5))['encoding']
>>> encoding
'UTF-16LE'
>>> with codecs.open(file_path, mode='r', encoding=encoding) as f:
... line = f.readline()
這樣 line[0] 有可能是 u'\ufeff' (就是 utf16-le 的 BOM)
也有可能是我要的 file content (也就是說這檔案沒 BOM)
所以我還要 try line[0].decode() 來決定要不要閃掉這個字....
請容我不知足的問問有沒有更懶惰的解... XD
--
天地のはざまに迷えし古来より生まれし邪悪な精霊よ
聖なる処女の柔肌に纏いし衣の雷で
汚れも濁りも淀みも凝りも
微塵に砕いて天地に返す!
悔い改めよ!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.118.49
→
01/22 11:05, , 1F
01/22 11:05, 1F
→
01/22 12:56, , 2F
01/22 12:56, 2F
→
01/22 12:57, , 3F
01/22 12:57, 3F
→
01/22 22:25, , 4F
01/22 22:25, 4F
→
01/23 06:47, , 5F
01/23 06:47, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
1
3
Python 近期熱門文章
PTT數位生活區 即時熱門文章