Python批量转换文件编码格式


Posted in Python onMay 17, 2015

自己写的方法,适用于linux,

#!/usr/bin/python
#coding=utf-8
import sys
import os, os.path
import dircache
import commands
def add(x,y):
 return x*y

def trans(dirname):
 lis = dircache.opendir(dirname)
 for a in lis:
af=dirname+os.sep+a
## print af
 if os.path.isdir(af):
## print af
trans(af)
else:
 ## print af+"encoding="+fi.name
 ft = commands.getoutput('file -i '+af)
## print ft
 if a.find('.htm')==-1 and a.find('.xml')==-1 and ft.find('text/')!=-1 and ft.find('iso-8859')!=-1:
 print 'gbk'+ft+">"+af
 commands.getoutput('iconv -ficonv -f gbk -t utf-8 -c -o'+""+af+""+af)

trans(os.getcwd())

py2.6以下版本可用代码

import os,sys 
 
def convert( filename, in_enc = "GBK", out_enc="UTF8" ): 
  try: 
    print "convert " + filename, 
    content = open(filename).read() 
    new_content = content.decode(in_enc).encode(out_enc) 
    open(filename, 'w').write(new_content) 
    print " done" 
  except: 
    print " error" 
 
def explore(dir): 
  for root, dirs, files in os.walk(dir): 
    for file in files: 
      path = os.path.join(root, file) 
      convert(path) 
 
def main(): 
  for path in sys.argv[1:]: 
    if os.path.isfile(path): 
      convert(path) 
    elif os.path.isdir(path): 
      explore(path) 
 
if __name__ == "__main__": 
  main()

支持py3.1的版本

import os
import sys
import codecs
#该程序用于将目录下的文件从指定格式转换到指定格式,默认的是GBK转到utf-8 
def convert(file,in_enc="GBK",out_enc="UTF-8"):
try:
print ("convert " +file)
f=codecs.open(file,'r',in_enc)
new_content=f.read()
codecs.open(file,'w',out_enc).write(new_content)
#print (f.read())
except IOError as err:
print ("I/O error: {0}".format(err))


def explore(dir):
for root,dirs,files in os.walk(dir):
for file in files:
path=os.path.join(root,file)
convert(path)

def main():
for path in sys.argv[1:]:
if(os.path.isfile(path)):
convert(path)
elif os.path.isdir(path):
explore(path)

if __name__=="__main__":
main()

以上所述就是本文 的全部内容了,希望大家能够喜欢。

Python 相关文章推荐
python保存字符串到文件的方法
Jul 01 Python
浅谈解除装饰器作用(python3新增)
Oct 15 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Django的models中on_delete参数详解
Jul 16 Python
python使用tomorrow实现多线程的例子
Jul 20 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
python 深度学习中的4种激活函数
Sep 18 Python
python实现图片素描效果
Sep 26 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python实现批量下载文件
May 17 #Python
python抓取最新博客内容并生成Rss
May 17 #Python
Python实现遍历数据库并获取key的值
May 17 #Python
Python对列表排序的方法实例分析
May 16 #Python
python中base64加密解密方法实例分析
May 16 #Python
python中threading超线程用法实例分析
May 16 #Python
python实现合并两个数组的方法
May 16 #Python
You might like
一个简单实现多条件查询的例子
2006/10/09 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
PHP对象实例化单例方法
2017/01/19 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python生成验证码实例
2014/08/21 Python
进一步理解Python中的函数编程
2015/04/13 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
浅谈python中的占位符
2017/11/09 Python
Python中常用信号signal类型实例
2018/01/25 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
python实现Decorator模式实例代码
2018/02/09 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
房屋出租协议书
2014/04/10 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
医学生自荐信范文
2015/03/05 职场文书