charset 编码判断

处理很多数据时,遇到大量的编码问题,因此想到使用chardet库,通过os的walk方法遍历文件夹,将每个文件的编码方式序列化到一个json文件中,需要使用的时候json load一下就可以了

#!/ USR / bin中/ env的蟒
 # - * -编码:UTF-8 - * -
 进口 argparse
 进口 OS
  chardet的进口检测
 进口 JSON
 #输出的目录的字符集
解析器= argparse.ArgumentParser()
parser.add_argument(“--path” help = '输入目录'
parser.add_argument(“--ter_path” help = '关于charset的json文件路径'
args = parser.parse_args()
work_path = args.path
json_path = args.ter_path
#解析命令args
 charse = dict()
work_path = r'D:\ 3'
 显示目录文件 os.walk(work_path):
     名称文件:
        FILE_NAME = os.path.join(根名称)
         打开(FILE_NAME 'RB'  FO:
            a = detect(fo.readline())[ 'encoding' ]
             if a == 'ascii'
                代码= 'ANSI'
 别人            
                代码= a
            charse [文件名] =代码


打印(charse)
 打开(json_path 'A +' 编码 = 'UTF-8'  FO:
    json.dump(charse  fo)
因为工作在英文环境下,ASCII有时候依然会产生乱码,将所有的ASCII的键值改成ANSI

编码ANSI在英文操作系统下对应的是ASCII码,中文是GB

UTF-8编码方式对于英文来说和ASCII的编码方式一样


JSON的反序列化:


尽量都使用UTF-8的编码方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值