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中使用列表生成式的教程
Apr 27 Python
编写Python的web框架中的Model的教程
Apr 29 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
python的slice notation的特殊用法详解
Dec 27 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
Python如何合并多个字典或映射
Jul 24 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
一些让Python代码简洁的实用技巧总结
Aug 23 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转成EXE文件
2006/10/09 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jQuery随便控制任意div隐藏的方法
2013/06/28 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python学生信息管理系统修改版
2018/03/13 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
Python2与Python3的区别实例总结
2019/04/17 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
移动通信行业实习自我鉴定
2013/09/28 职场文书
大学生的应聘自我评价
2013/12/13 职场文书
高校十八大报告感想
2014/01/27 职场文书
会计专业自我评价
2014/02/12 职场文书
2015新年寄语大全
2014/12/08 职场文书
感恩节寄语2015
2015/03/24 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
python中sys模块的介绍与实例
2021/04/17 Python
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript