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中的多线程实例教程
Aug 27 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
python保存字典和读取字典的实例代码
Jul 07 Python
Python 单例设计模式用法实例分析
Sep 23 Python
django中间键重定向实例方法
Nov 10 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
python实现定时发送邮件
Dec 23 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 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
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
JS实现页面打印功能
2017/03/16 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Angular整合zTree的示例代码
2018/01/24 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Python实现的简单算术游戏实例
2015/05/26 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
详解Python pygame安装过程笔记
2017/06/05 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
flask中过滤器的使用详解
2018/08/01 Python
对python Tkinter Text的用法详解
2018/10/11 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
python在协程中增加任务实例操作
2021/02/28 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
实验教师岗位职责
2014/02/13 职场文书
党建示范点实施方案
2014/03/12 职场文书
文秘应届生求职信
2014/07/05 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
2014年项目工作总结
2014/11/24 职场文书
电影雷锋观后感
2015/06/10 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书