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 相关文章推荐
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
Apr 19 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
在终端启动Python时报错的解决方案
Nov 20 Python
python代码实现图书管理系统
Nov 30 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
django如何自定义manage.py管理命令
Apr 27 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
人大复印资料处理程序_查询篇
2006/10/09 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
python在不同层级目录import模块的方法
2016/01/31 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
解决c++调用python中文乱码问题
2020/07/29 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
Python 随机按键模拟2小时
2020/12/30 Python
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
幼儿园毕业典礼主持词
2014/03/21 职场文书
办公室主任岗位职责
2015/01/31 职场文书
故意杀人案辩护词
2015/05/21 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL