chardet:charset detection
一旦自動檢測出編碼,就可以解碼了。
解碼時遇到錯誤有三種處理方式
utf.py
import chardet
import os
import sys
def utf(path, recursive=false):
print(path)
if os.path.isfile(path):
with open(path, 'rb+') as f:
content = f.read()
encoding = chardet.detect(content)['encoding']
if encoding != 'utf-8':
s = content.decode(encoding, errors='ignore')
f.write(s.encode('utf8', errors='ignore'))
else:
for i in os.listdir(path):
now_path = os.path.join(path, i)
if os.path.isdir(now_path) and recursive:
utf(now_path, recursive)
elif os.path.splitext(i)[1] == '.txt':
utf(now_path)
usage = """
python utf haha.txt #更改單檔案
python utf haha #更改資料夾下的全部文字檔案(.txt)
python utf haha recursive #遞迴更改資料夾下的全部文字檔案
"""if __name__ == '__main__':
# sys.ar** = ['main', r'c:\users\weidiao\desktop\電子書', 'recursive']
if len(sys.ar**) == 1:
print(usage)
exit()
if len(sys.ar**) > 3:
print(usage)
print('too many argument')
exit()
path = sys.ar**[1]
if not os.path.exists(sys.ar**[1]):
print(usage)
print('no this file or folder')
exit()
recursive = (len(sys.ar**) == 3 and sys.ar**[2] == 'recursive')
utf(path, recursive)
python 中 chardet 的使用
2.解壓檔案 將它解壓,得到其中的資料夾 chardet 並複製到 python安裝根目錄 lib site packages 下,確保這個位置可以被python引用到。pip install chardet安裝chardet模組 由於chardet是第三方的模組,所以我們需要先安裝chardet模...
python使用模組chardet判斷字元編碼
python中chardet 用來實現字串 檔案編碼檢測模板 2.chardet能夠檢測到的編碼方式 chardet 模組可以檢測以下編碼 3.chardet模組使用 使用chardet模組判斷字元編碼使用detect 函式即可 import chardet import urllib.reques...
python使用chardet判斷字串編碼的方法
最近利用python抓取一些網上的資料,遇到了編碼的問題。非常頭痛,總結一下用到的解決方案。linux中vim下檢視檔案編碼的命令 set fileencoding py程式設計客棧thon中乙個強力的編碼檢測包 chardet 使用方法非常簡單。linux下利用pip install charde...