python 将文件转为UTF8编码
Posted 韩搏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 将文件转为UTF8编码相关的知识,希望对你有一定的参考价值。
C代码在Linux编译正常,放到win上编译各种报错,发现文件编码的问题,写了批量处理文件编码脚本
import codecs
import os
import sys
import shutil
import re
import chardet
convertdir = '.'
convertfiletypes = [".c",".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']
print filename, 'encode:', source_encoding
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)
print filename
try:
convert_encoding(filename, 'UTF-8-SIG')
except Exception, e:
print filename
if __name__ == '__main__':
main()
以上是关于python 将文件转为UTF8编码的主要内容,如果未能解决你的问题,请参考以下文章