当前位置:  编程技术>python

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

    来源: 互联网  发布时间:2014-09-04

    本文导语:  代码如下:# -*- coding:utf-8 -*-__author__ = 'walkskyer' import osimport glob class Encoding:    def __init__(self):        #文件扩展名        self.ext = ".*"        #编码        self.srcEncoding=None        self.dstEncoding=None     def convert...

代码如下:

# -*- 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获取网页编码的方法及示例代码
  • python处理中文编码和判断编码示例
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换
  • 学习python处理python编码问题
  • Python获取网页编码的方法及示例代码 iis7站长之家
  • Python中文编码那些事
  • 使用python的chardet库获得文件编码并修改编码
  • Python中还原JavaScript的escape函数编码后字符串的方法
  • Python编码时应该注意的几个情况
  • Python将日期时间按照格式转换成字符串
  • python中的一些类型转换函数小结
  • Python到C++的转换工具 ShedSkin
  • python类型强制转换long to int的代码
  • Python字符转换
  • python 将字符串转换成字典dict
  • python转换摩斯密码示例
  • Python中实现字符串类型与字典类型相互转换的方法
  • python中将字典转换成其json字符串
  • Python时间戳与时间字符串互相转换实例代码
  • python3图片转换二进制存入mysql
  • Python实现全角半角转换的方法
  • Python内置函数bin() oct()等实现进制转换
  • python抓取网页时字符集转换问题处理方案分享
  • python将人民币转换大写的脚本代码
  • python中将阿拉伯数字转换成中文的实现代码
  • 常用python数据类型转换函数总结
  • 使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
  • python数据结构之二叉树的统计与转换实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python下xml解析库lxml最新版下载安装以及代码示例
  • python读取csv文件示例(python操作csv)
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • python基础教程之python消息摘要算法使用示例
  • python实现绘制树枝简单示例
  • 使用python删除nginx缓存文件示例(python文件操作)
  • python学习手册中的python多态示例代码
  • python调用windows api锁定计算机示例
  • python代码制作configure文件示例
  • python使用循环实现批量创建文件夹示例
  • python采用requests库模拟登录和抓取数据的简单示例
  • Python数组条件过滤filter函数使用示例
  • Python的print用法示例
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • Python pass 语句使用示例
  • python getopt 参数处理小示例
  • python的urllib模块显示下载进度示例
  • python list转dict示例分享
  • python求素数示例分享
  • python实现倒计时的示例
  • python获取网页状态码示例
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • Python开发者社区整站源码 Pythoner
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 新手该如何学python怎么学好python?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3