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

 更新时间:2014年01月23日 09:52:28   作者:  
这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码、目录或扩展名即可进行转换,大家参考使用吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

复制代码 代码如下:

# -*- coding:utf-8 -*-
__author__ = 'walkskyer'

import os
import glob

class Encoding:
    def __init__(self):
        #文件扩展名
        self.ext = ".*"
        #编码
        self.srcEncoding=None
        self.dstEncoding=None

    def convertEncoding(self, content, srcEncoding=None, dstEncoding=None):
        return content.decode(self.srcEncoding).encode(self.dstEncoding)

    def processDirectory(self, args, dirname, filenames):
        print 'Directory', dirname
        for filename in filenames:
            if not os.path.isdir(dirname+'/'+filename):
                if filename.endswith(self.ext) or self.ext == ".*":
                    print ' File', filename
                    self.f2f(dirname+'/'+filename)

    def f2f(self, filepath, srcEncoding=None, dstEncoding=None):
        try:
            f1 = open(filepath, 'rb')
            temp = f1.read()
            f1.close()
            f2 = open(filepath, 'wb')
            f2.write(temp.decode(self.srcEncoding).encode(self.dstEncoding))
            f2.close()
            print '转码成功'
        except Exception, e:
            print e


    def colectFileType(self, dirname, fileType):
        for filename in glob.glob(r'*.'+fileType):
            print filename

    def setExt(self, ext):
        if not ext.startswith('.'):
            ext = "." + ext
        self.ext = ext

    def setSRC(self, encoding):
        self.srcEncoding=encoding

    def setDST(self, encoding):
        self.dstEncoding=encoding

if __name__ == '__main__':
    obj = Encoding()
    print u'请输入文件类型:'
    obj.setExt(raw_input())
    print u'请输入文件原始编码:'
    obj.setSRC(raw_input())
    print u'请输入文件目标类型:'
    obj.setDST(raw_input())
    """obj.setExt('html')
    obj.setSRC('gbk')
    obj.setDST('utf-8')"""
    print u'请输入文件所在目录:'
    path = raw_input()
    os.path.walk(path, obj.processDirectory, None)

相关文章

  • Python程序员开发中常犯的10个错误

    Python程序员开发中常犯的10个错误

    这篇文章主要介绍了Python程序员开发中常犯的10个错误,不知道你有没有中枪呢,需要的朋友可以参考下
    2014-07-07
  • Python实现简单拆分PDF文件的方法

    Python实现简单拆分PDF文件的方法

    这篇文章主要介绍了Python实现简单拆分PDF文件的方法,可实现将一个PDF文件拆分成指定份数的功能,涉及pyPdf模块的使用技巧,需要的朋友可以参考下
    2015-07-07
  • pytorch 多分类问题,计算百分比操作

    pytorch 多分类问题,计算百分比操作

    这篇文章主要介绍了pytorch 多分类问题,计算百分比操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python数据库格式化输出文档的思路与方法

    Python数据库格式化输出文档的思路与方法

    这篇文章主要给大家介绍了关于Python数据库格式化输出文档的思路与方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python实现简单的TCP代理服务器

    python实现简单的TCP代理服务器

    这篇文章主要介绍了python实现简单的TCP代理服务器,包含了完整的实现过程及对应的源码与说明文档下载,非常具有参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • Python基础globlal nonlocal和闭包函数装饰器语法糖

    Python基础globlal nonlocal和闭包函数装饰器语法糖

    这篇文章主要为大家介绍了Python基础globlal nonlocal和闭包函数装饰器语法糖示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • python 实现以相同规律打乱多组数据

    python 实现以相同规律打乱多组数据

    这篇文章主要介绍了python 实现以相同规律打乱多组数据,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 解决python logging遇到的坑 日志重复打印问题

    解决python logging遇到的坑 日志重复打印问题

    这篇文章主要介绍了解决python logging遇到的坑 日志重复打印问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python操作MongoDB的教程分享

    Python操作MongoDB的教程分享

    MongoDB?是一个流行的?NoSQL?数据库,以其半结构化的文档存储方式而闻名,本文将带大家逐步了解如何使用Python与MongoDB进行交互,从连接到基本操作,快跟随小编一起学习一下吧
    2023-08-08
  • Python处理RSS、ATOM模块FEEDPARSER介绍

    Python处理RSS、ATOM模块FEEDPARSER介绍

    这篇文章主要介绍了Python处理RSS、ATOM模块FEEDPARSER介绍,本文只是做个入门级的简洁介绍,需要的朋友可以参考下
    2015-02-02

最新评论

?


http://www.vxiaotou.com