博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 转化文件编码 utf8
阅读量:4465 次
发布时间:2019-06-08

本文共 1341 字,大约阅读时间需要 4 分钟。

使用visual studio最大的一个问题就是文件编码问题,当文件中有中文时,visual studio 会默认为区域编码,也就是gb2312,如果想跨平台或者不用vs编译的话,就会因为编码问题导致各种错误。

所以写了个python脚本来检测原文件编码并转换为目标编码,以下代码以目标编码为utf-8为例:

需要安装chardet,详情:https://pypi.python.org/pypi/chardet 

使用方法:python to_utf8.py /my_project/src

import codecsimport osimport sysimport shutilimport reimport chardetconvertdir = sys.argv[1]convertfiletypes = [  ".cpp",  ".h",  ".hpp"  ]def convert_encoding(filename, target_encoding):    # Backup the origin file.    # convert file from the source encoding to target encoding    content = codecs.open(filename, 'r').read()    source_encoding = chardet.detect(content)['encoding']    if source_encoding != 'utf-8':        print source_encoding, filename        content = content.decode(source_encoding, 'ignore') #.encode(source_encoding)        codecs.open(filename, 'w', encoding=target_encoding).write(content)def main():    for root, dirs, files in os.walk(convertdir):        for f in files:            for filetype in convertfiletypes:                if f.lower().endswith(filetype):                    filename = os.path.join(root, f)                    try:                        convert_encoding(filename, 'utf-8')                    except Exception, e:                        print filenameif __name__ == '__main__':    main()

 

转载于:https://www.cnblogs.com/lebronjames/p/5210678.html

你可能感兴趣的文章
关于互联网的一些数据
查看>>
数据预处理:独热编码(One-Hot Encoding)
查看>>
python将对象名的字符串类型,转化为相应对象的操作方法
查看>>
【NLP新闻-2013.06.03】New Book Where Humans Meet Machines
查看>>
mongodb安装4.0(rpm)
查看>>
DispatcherServlet的url mapping为“/”时,对根路径访问的处理
查看>>
备忘pwnable.kr 之passcode
查看>>
好久没敲代码了,手有点生——一个小小的时钟
查看>>
运算符 AS和IS 的区别
查看>>
(转)详解C中volatile关键字
查看>>
easyui时的时间格式yyyy-MM-dd与yyyy-MM-ddd HH:mm:ss
查看>>
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>
UVA10791
查看>>
P2664 树上游戏
查看>>
jQuery 停止动画
查看>>
Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
查看>>
教你50招提升ASP.NET性能(二十二):利用.NET 4.5异步结构
查看>>
lua连续随机数
查看>>