`

使用python批量转换文件编码方式

阅读更多

在工作中遇到了问题,有一些文件跟现有工程的文件编码方式不同,于是就想到编写代码批量进行转换,刚好,最近再学习python语言,我觉得学好一门语言最好的方式就是实践,所以,决定使用python批量转换文件的编码。

 

思路就是从一种编码格式转换成另外一种编码。但实际中还是有一种情况,就是在目录中,有些文件是不需要转换的,如果这种时候也统一转换的话,同样会出现乱码,所以这个地方要处理。

 

#codeing=utf-8
import chardet
import sys,os

def convertEncoding(to_encode,old_filepath):
    print old_filepath
    f1=file(old_filepath)
    text=f1.read();
    f1.closed

    enc=chardet.detect(text)
    print enc
    if enc['encoding']  == None :
        return
    text=text.decode(enc['encoding']).encode(to_encode)
    f2=file(old_filepath,'w')
    f2.write(text)
    f2.close()


def listFiles(fromdir):
    for root,dirs,files in os.walk(fromdir):

       if len(files)!=0:
            for file in files:
                convertEncoding("UTF-8",os.path.join(root,file))

if __name__ =="__main__":
	listFiles("D:\\WebContent")

 这里用到了外部库Chardet,需要另外下载。转换的地方是从检测到的编码类型直接转化为我们要改变的编码类型,这样,就避免了前面说的问题。

分享到:
评论

相关推荐

    使用python批量转换文件编码为UTF-8的实现

    由于这两天换了IDE,在导入以前的工程的时候发现了一个大问题,由于以前脑残的我不知道改编码方式,...怎么查看文件的编码方式 好吧我承认就出现了这一个问题。 那么遇到问题我们该怎么办呢,没错,Google,果然功夫不

    python实现批量转换文件编码(批转换编码示例)

    class Encoding: def __init__(self): #文件扩展名 self.ext = “.*” #编码 self.srcEncoding=None self.dstEncoding=None  def convertEncoding(self, content, srcEncoding=None, dstEncoding=None): 

    使用python批量转换文件编码为UTF-8

    由于这两天换了IDE,在导入以前的工程的时候发现了一个大问题,由于以前脑残的我不知道改编码方式,导致出现了...怎么查看文件的编码方式 好吧我承认就出现了这一个问题。 那么遇到问题我们该怎么办呢,没错,Google,

    python整合ffmpeg实现视频文件的批量转换

    我们的思路是,设定一个文件夹存放源视频文件,python读取该文件夹下的全部文件,并对文件通过ffmpeg进行分析,根据需要,修改目标文件的编码、分辨率等等,调用ffmpeg转换。 我这次的需求是,我家液晶电视只支持...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种...

    Python实现 多进程导入CSV数据到 MySQL

    前段时间帮同事处理了一个把 CSV 数据导入到 MySQL 的需求。两个很大的 CSV 文件, 分别有 3GB、2100 万条记录和 7GB、3500 万条记录。... 原始数据是 GBK 编码,所以还要注意转换成 UTF-8 用 cli

    【Python】利用百度地图API获取多方式行程时间

    (若基础数据为文字地址,可使用百度地图API提供的“正/逆地理编码服务”转换为经纬坐标数据) 获取秘钥 秘钥是访问百度地图API各项功能的密码,需向百度地图申请获得 点击网址,登录百度账号,点击获取秘钥,即可...

    DNA_to_Protein:将dna序列转换为蛋白质序列的程序

    如果给出了格式错误的文件,则应抛出一条消息“输入文件不是.fasta格式”( ) 如果给出的文件带有非DNA字符,则应引发一条消息“输入文件不包含DNA序列数据” 您的提交应包含您的代码以及.txt / .doc / .pdf中的...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    字符编码转换详解 函数与函数式编程 函数式编程之参数详解 局部变量与全局变量作用域 递归 函数式编程与函数不同 高阶函数 第4周 上节内容回顾 心灵鸡汤 装饰器详解 装饰器应用详解 装饰器之函数即变量 装饰器之高...

    WEB渗透测试数据库

    utf8 gbk gb2312 big5 utf16 utf7 等所有python支持的编码方式,具体请参考如下链接: python支持的编解码格式 例如: pen.py encode -t unicode "aaa=你好" pen.py encode -t url-all -m gbk "id=你好" pen.py...

    sphinx中文语音训练手册

    在编辑后,使用 文件-转换-ASCII转UTF-8(UNICODE编辑),指定文件中的中文使用utf8编码。 在保存前,设置格式如下: 换行符:UNIX终束符 - LF 指定文件中的回车/换行符为编码0A的换行符 格式:UTF-8 - ...

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

Global site tag (gtag.js) - Google Analytics