分享一个批量修改文件编码的python脚本


分享一个自己编写的递归查找子目录,将所有cpp文件编码修改为utf-8编码格式的小脚本

 

 1 #i!/usr/bin/env python3
 2 # -*- coding:utf-8 -*-
 3 import os 
 4 import sys 
 5 import codecs 
 6 import chardet 
 7   
 8 def convert(filename,out_enc="UTF-8"): 
 9   try: 
10     content=codecs.open(filename,'rb').read()
11     source_encoding=chardet.detect(content)['encoding'] 
12     print ("fileencoding:%s" % source_encoding)
13 
14     if source_encoding != None :
15       content=content.decode(source_encoding).encode(out_enc) 
16       codecs.open(filename,'wb').write(content)
17       content.close()
18     else :
19       print("can not recgonize file encoding %s" % filename)
20   except IOError as err: 
21     print("I/O error:{0}".format(err)) 
22   
23 def explore(dir): 
24   for root,dirs,files in os.walk(dir): 
25     for file in files: 
26       if os.path.splitext(file)[1]=='.cpp': 
27         print ("fileName:%s" % file)
28         path=os.path.join(root,file)
29         convert(path) 
30   
31 def main(): 
32   #explore(os.getcwd()) 
33   filePath = input("please input dir: \n")
34   explore(filePath)
35   
36 if __name__=="__main__": 
37   main()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM