折腾了好久,终于搞定了。
参考链接: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/