背景:项目中有一些其他部门发过来的代码,编码格式有utf-8,也有GBK,而且是散乱在各个文件夹中的,处理起来十分的麻烦。我想把他们都转成统一的utf-8的格式。代码很简单,直接上代码好了。
import os,sys
def convert( filename, in_enc = "gbk", out_enc="UTF-8" ):
try:
array = filename.split(".")
if "java" == array[-1]:
print 'Encode Converting (GBK to UTF-8) : ', filename
utfFile=open(filename)
tstr = utfFile.read()
tstr = tstr.decode(in_enc).encode(out_enc)
utfFile.close()
utfFile = open(filename, 'w')
utfFile.write(tstr)
utfFile.close()
except:
print " error"
def explore(dir):
for root, dirs, files in os.walk(dir):
for file in files:
path = os.path.join(root, file)
convert(path)
def main():
for path in ['.']:
print path
if os.path.isfile(path):
convert(path)
elif os.path.isdir(path):
explore(path)
if __name__ == "__main__":
main()
使用前需要配置python的环境,将这个文件放在工程目录下,双击执行就可以了。