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中使用HTMLParser解析html实例
Feb 08 Python
使用Python中的cookielib模拟登录网站
Apr 09 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
python os模块简单应用示例
May 23 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
python判断是空的实例分享
Jul 06 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
Flask搭建一个API服务器的步骤
May 28 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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 number_format函数原理及实例解析
2020/07/14 PHP
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
tab栏切换原理
2017/03/22 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python递归遍历列表及输出的实现方法
2015/05/19 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python实现图书管理系统
2018/03/12 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python语言基本语句用法总结
2019/06/11 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
通过自学python能找到工作吗
2020/06/21 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
html5的localstorage详解
2017/05/09 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
新闻学毕业生自荐信
2013/11/15 职场文书
写自荐信三大法宝
2014/01/24 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
银行自荐信范文
2015/03/25 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Windows7下FTP搭建图文教程
2022/08/05 Servers