将UCS-2 Little Endian(即 utf-16)编码的txt文件批量转化为utf-8编码(python)

折腾了好久,终于搞定了。

参考链接:python使用codecs模块进行文件操作-读写中英文字符 - CSDN博客 http://blog.csdn.net/chenyxh2005/article/details/72465758#t0


代码:

import os
import codecs


path = 'D:\\yangnian\\Project\\Test\\motor_control'#txt文件所在目录

for root,dirs,files in os.walk(path):
    for name in files:
        
        #本代码中,原文件的编码必须是UCS-2 Little Endian 要不然读出来是乱码
        eachFile=codecs.open(path+'\\'+name,'r','utf-16-le') #可以根据实际文件的编码格式将utf-16-le替换掉
        content=eachFile.read()#content str类型
        
        newFile=codecs.open(r'D:\yangnian\Project\Test\new\test.txt','w','utf-8')
        #eachFile=codecs.open(path+'\\'+name,'r','utf-16_le') #可以写入原文件
        newFile.write(content)
        
        eachFile.close()
        newFile.close()


拓展阅读:

Python学习笔记之编码问题 unicode、encode、decode https://www.douban.com/note/347617467/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值