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实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
python使用os模块的os.walk遍历文件夹示例
Jan 27 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
Python的Django框架安装全攻略
Jul 15 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
Python实现时钟显示效果思路详解
Apr 11 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Django框架创建项目的方法入门教程
Nov 04 Python
在Python中实现函数重载的示例代码
Dec 12 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Django 实现对已存在的model进行更改
Mar 28 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 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
php下获取客户端ip地址的函数
2010/03/15 PHP
php验证手机号码
2015/11/11 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
python 生成器需注意的小问题
2020/09/29 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
pymysql模块使用简介与示例
2020/11/17 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
教师自我鉴定
2013/12/13 职场文书
销售主管岗位职责
2014/02/08 职场文书
十八大演讲稿
2014/05/22 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers