python实现批量转换文件编码(批转换编码示例)
发布时间:2023-07-28 22:03:47
# -*- 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)
猜你喜欢
- 在默认的情况下,MySQL搜索不区分大小写(但某些字符集始终区分大小写,如czech)。这意味着,如果你使用col_name LIKE
- 根据Django官方文档介绍:A one-to-one relationship. Conceptually, this is simila
- 方法一:在php中,抓取https的网站,提示如下的错误内容:Warning: file_get_contents() [function.
- 2.彻底弄懂CSS盒子模式二(导航栏实例) 3.彻底弄懂CSS盒子模式三(浮动的表演和清除的自述) 4.彻底弄懂CSS盒子模式四(绝对定位和
- python使用utf8编码,mysql也是utf8编码,是什么问题?后来查了一下,使用一个简单的办法即可:vsql = "ins
- 今天群上面同志们在讨论css3内发光效果,自己也就研究一下,写了个效果出来,涉及css3投影,渐变,蒙版,伪类等知识点,现在写下设计思路,仅
- 1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子 2.truncate只能一次清空,不能
- Logo是品牌图形区别的点睛之处,我们每天都要接触很多logo - 在高速公路上,在购买商品时,以及浏览各种网站。我们查看很多logo设计,
- 一、情景 eg:查看一条数据的详情,需要跳转页面,并进行传值二、思路方式1:触发详情按钮时,Js获取到
- 一、urllib 和 urllib2的关系在python2中,主要使用urllib和urllib2,而python3对urllib和urll
- 看看这个logo,有些像python的小蛇吧 。这次介绍的数据库codernityDB是纯python开发的。先前用了下tinyDB这个本地
- 作者: Alan Pearce原文: Multi-Column Layouts Climb Out of the Box地址: http:/
- 从Access数据库中选取记录有件最令人丧气的事情,它们是以怎样的顺序输入到数据库内就按照怎样的顺序出来。就算你在Access环境内采用So
- 作为一名数据库管理员,在进行代码迁移之前,我总是尽力给提交于开发环境的代码一个完整的面貌。但是,不得不承认,我不能保证不发生任何可能破坏开发
- 这几个技术都不是很新了,现在还拿出来说也就是为了教教新手了呵呵,各位大虾多多指正.css之所以出现就是为了实现数据与数据的表现形式的分离,
- 当你加入到一个项目,相关的CSS文件可能会看得你头昏眼花。时间一长,修改了哪些内容,增加了哪些内容,也都弄不清,维护成本相当的高。正好我们国
- 接着上一篇《服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)》继续讲讲ServerXMLH
- 这个代表显示宽度整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系
- 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
- PHP simplexml_load_file() 函数实例转换 XML 文件为 SimpleXMLElement 对象,然后输出对象的键和