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实现socket客户端和服务端简单示例
Feb 24 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
python视频按帧截取图片工具
Jul 23 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
Python之matplotlib绘制饼图
Apr 13 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
2019十大人气国漫
2020/03/13 国漫
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
php绘制一个扇形的方法
2015/01/24 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
深入理解python中的atexit模块
2017/03/07 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
2014村务公开实施方案
2014/02/25 职场文书
道路施工安全责任书
2014/07/24 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python