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


Posted in Python onJanuary 23, 2014
# -*- 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创建xml的方法
Mar 10 Python
使用python验证代理ip是否可用的实现方法
Jul 25 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
Python实现某论坛自动签到功能
Aug 20 Python
python线程定时器Timer实现原理解析
Nov 30 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
关于tensorflow softmax函数用法解析
Jun 30 Python
python如何随机生成高强度密码
Aug 19 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
python缺失值的解决方法总结
Jun 09 Python
Pygame Draw绘图函数的具体使用
Nov 17 Python
python写的一个文本编辑器
Jan 23 #Python
python生成指定长度的随机数密码
Jan 23 #Python
python使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 #Python
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 #Python
pyside写ui界面入门示例
Jan 22 #Python
pyqt和pyside开发图形化界面
Jan 22 #Python
python检测lvs real server状态
Jan 22 #Python
You might like
SONY SRF-M100的电路分析
2021/03/02 无线电
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
php实现计数器方法小结
2015/01/05 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
PHP时间函数使用详解
2019/03/21 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
Vue自定义事件(详解)
2017/08/19 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
python3中编码获取网页的实例方法
2020/11/16 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
Android面试宝典
2013/08/06 面试题
初中毕业生的自我评价
2014/03/03 职场文书
销售顾问工作计划书
2014/08/15 职场文书
2014和解协议书范文
2014/09/15 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书