欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

批量将文件编码改为UTF8的python小程序

程序员文章站 2022-04-17 16:02:00
...
import os
from chardet import detect

fns = []
filedir = os.path.join(os.path.abspath('.'), "2utf-8")
file_name = os.listdir(os.path.join(os.path.abspath('.'), "2utf-8"))
for fn in file_name:
    if fn.endswith('.txt'):  # 这里填文件后缀
        fns.append(os.path.join(filedir, fn))

for fn in fns:
    with open(fn, 'rb+') as fp:
        content = fp.read()
        codeType = detect(content)['encoding']
        content = content.decode(codeType, "ignore").encode("utf8")
        fp.seek(0)
        fp.write(content)
        print(fn, ":已修改为utf8编码")

步骤:

1、将需要修改编码的文件(如txt文件)和此py文件放在同一目录下

2、修改程序第八行的后缀名,将其改为你想修改的文件的后缀名,此行if的目的是避免影响本文件

3、保存后执行程序

 

注:文件大的话跑得比较慢,请耐心等待