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设计】。

相关文章

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来...

pytorch forward两个参数实例

以channel Attention Block为例子 class CAB(nn.Module): def __init__(self, in_channels, out_c...

解决python3 Pycharm上连接数据库时报错的问题

最近在学习python。 今天在学习python连接Mysql数据库时报错: AttributeError: 'NoneType' object has no attribute '...

Python实现k-means算法

Python实现k-means算法

本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下 这也是周志华《机器学习》的习题9.4。 数据集是西瓜数据集4.0,如下 编号,密度,含糖率...

老生常谈Python基础之字符编码

老生常谈Python基础之字符编码

前言 字符编码非常容易出问题,我们要牢记几句话: 1.用什么编码保存的,就要用什么编码打开 2.程序的执行,是先将文件读入内存中 3.unicode是父编码,只能encode解码成其他编...