AD

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

这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码、目录或扩展名即可进行转换,大家参考使用吧

# -*- 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
时间: 2014-10-24

相关文章

  1. vbs脚本实现批量转换文件编码

    这篇文章主要介绍了vbs脚本实现批量转换文件编码,可以批量对文件在Gb2312和UTF-8编码间互相转换,需要的朋友可以参考下 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Li ...
  2. 使用windows命令和iconv.exe批量转换文件编码

    iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt > utf- ...
  3. PHP转换文件夹下所有文件编码的实现代码

    本篇文章是对PHP转换文件夹下所有文件编码的实现代码进行了详细的分析介绍,需要的朋友参考下 PHP转换文件夹下所有文件的编码 适合发布网站的其他编码版本 比如你有一个GBK版本 你想有一个UTF8版本 或者你只有GBK的 ...
  4. Shell脚本遍历目录并批量修改文件编码

    这篇文章主要介绍了Shell脚本遍历目录并批量修改文件编码,本文给出了两种实现代码,需要的朋友可以参考下 在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码及修改默认编码类型太慢,写此脚本进行 ...
  5. Python: 在Unicode和普通字符串之间转换

    1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASCII字符集表示的数据 ...
  6. PHP学习笔记之字符串编码的转换和判断

    GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码.有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,使用起来也非 ...
  7. 使用iconv批量改变文件编码的shell脚本

    在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题 这篇文章主要介绍了编写shell脚本,使用iconv批量改变文件编码的脚本代码,需要的朋友 ...
  8. Python批量修改文件后缀的方法

    这篇文章主要介绍了Python批量修改文件后缀的方法,有需要的朋友可以参考一下 近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀, ...
  9. PHP mb_convert_encoding文字编码的转换函数介绍

    PHP mb_convert_encoding文字编码的转换函数介绍,可以将字符转换为gbk或utf8格式. 文字编码的转换mb_convert_encoding() mb_convert_encoding( $str, ...
  10. 将字符串转换成gb2312或者utf-8编码的参数(js版)

    直接在url中传递中文参数时,读到的中文都是乱码,那么我们应该怎么将这些参数转换呢,接下来与大家分享下将字符串转换成utf-8或者gb2312编码的参数的技巧 在很多时候,我们直接在url中传递中文参数时,读到的中文都是 ...
  11. Python实现把回车符\r\n转换成\n

    这篇文章主要介绍了Python实现把回车符\r\n转换成\n,本文直接给出实现代码,需要的朋友可以参考下 最近在做cocos2d-x的简明配置,发现有的朋友的文本编辑器,自动将\r\n截断成\n,(在unix上换行使用\ ...
  12. python批量修改文件后缀示例代码分享

    python批量修改文件后缀示例代码分享,大家参考使用吧 ipad的goodreader对JS文件支持不太好,虽然可以读取它但总是无法退出,回不了goodreader的主界面,因此我需要把js文件批量变成纯文本.基于这个 ...
  13. PHP编码转换函数 自动转换字符集支持数组转换

    当我们在接受未知客户端提交的数据,由于各客户端的编码不统一,但在我们的服务器端最终只能以一种编码方式来处理,这种情况下就会涉及到编码转换问题 // 自动转换字符集 支持数组转换 function auto_charset ...
  14. python实现批量获取指定文件夹下的所有文件的厂商信息

    这篇文章主要介绍了python实现批量获取指定文件夹下的所有文件的厂商信息的方法,是非常实用的技巧,涉及到文件的读写与字典的操作等技巧,需要的朋友可以参考下 本文实例讲述了python实现批量获取指定文件夹下的所有文件的 ...
  15. python数据结构之二叉树的统计与转换实例

    这篇文章主要介绍了python数据结构之二叉树的统计与转换实例,例如统计二叉树的叶子.分支节点,以及二叉树的左右两树互换等,需要的朋友可以参考下 一.获取二叉树的深度 就是二叉树最后的层次,如下图: 实现代码: def ...
  16. python使用循环实现批量创建文件夹示例

    这篇文章主要介绍了python使用循环实现批量创建文件夹示例,需要的朋友可以参考下 代码很简单,其中用到了python的sys模块,大家参考使用吧 import os,sys base = 'C:/' i = 1 for ...
  17. 用Python chardet库来判断文件编码

    由于工作需要处理大量文件,在此之前需要统一文件编码.于是研究了一阵如何识别文件编码,转码这一过程相对简单,而识别确实个难题.由于整个项目由java编写,自然一开始就想用java来转码了.真正开始写起来才知道麻烦,除了几个 ...
  18. openoffice+swftools+flexPaper 转换文件失败解决办法

    一.首先是OpenOffice的进程关闭的问题,原因比较多,大多数是文件转换失败,导致服务崩溃. 如文件过大,字符集不识别等. 通过两个批处理文件,监控soffice.exe进程,如果没有,则重新启动, openOffi ...
  19. Python实现批量把SVG格式转成png.pdf格式的代码分享

    这篇文章主要介绍了Python实现批量把SVG格式转成png.pdf格式的代码分享,本文代码需要引用一个第三方模块cairosvg,需要的朋友可以参考下 需要提前安装cairosvg模块,下载地址http://cairo ...