python批量修改文件编码格式的方法

yipeiwu_com6年前Python基础

本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下

使用说明:

1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里

2、环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下

举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下:

python:

import os 
import sys 
import codecs 
import chardet 
 
def convert(filename,out_enc="UTF-8"): 
  try: 
    content=codecs.open(filename,'r').read() 
    source_encoding=chardet.detect(content)['encoding'] 
    print source_encoding 
 
    content=content.decode(source_encoding).encode(out_enc) 
    codecs.open(filename,'w').write(content) 
  except IOError as err: 
    print("I/O error:{0}".format(err)) 
 
def explore(dir): 
  for root,dirs,files in os.walk(dir): 
    for file in files: 
      if os.path.splitext(file)[1]=='.cpp': 
        print file 
        path=os.path.join(root,file) 
        convert(path) 
 
def main(): 
  explore(os.getcwd()) 
 
if __name__=="__main__": 
  main() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

numpy中矩阵合并的实例

python中科学计算包numpy中矩阵的合并,需要用到如下两个函数: 列合并:np.column_stack() ,其中函数参数为一个tuple 行合并:np.row_stack(),...

python实现Dijkstra算法的最短路径问题

python实现Dijkstra算法的最短路径问题

迪杰斯特拉(Dijkstra)算法主要是针对没有负值的有向图,求解其中的单一起点到其他顶点的最短路径算法。 1 算法原理 迪杰斯特拉(Dijkstra)算法是一个按照路径长度递增的次序产...

Django csrf 两种方法设置form的实例

第一种方法,在视图函数上边添加一条语句 @csrf_exempt 例子: @csrf_exempt def login(request): return render_to_...

对python文件读写的缓冲行为详解

文件的io操作的缓冲行为分为 全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作 行缓冲:遇到换行符执行一次写操作 无缓冲:立刻执行写操作 open()函数 help(ope...

videocapture库制作python视频高速传输程序

videocapture库制作python视频高速传输程序

1,首先是视频数据[摄像头图像]的采集,通常可以使用vfw在vc或者vb下实现,这个库我用的不好,所以一直不怎么会用.现在我们用到的是python的videocapture库,这个库用起...