python实现JAVA源代码从ANSI到UTF-8的批量转换方法


Posted in Python onAugust 10, 2015

本文实例讲述了python实现JAVA源代码从ANSI到UTF-8的批量转换方法。分享给大家供大家参考。具体如下:

喜欢用eclipse的大神们,可能一不小心代码就变成ANSI码了,需要转换成utf-8嘛,一个文件一个文件的在Notepad2或者notepad++里面转换么?不,这里有批量转换的程序,python实现,需要的拿去用吧。

ansi2utf8.py:

#-*- coding: utf-8 -*-
import codecs
import os
import shutil
import re
import chardet
def convert_encoding(filename, target_encoding):
 # Backup the origin file.
 shutil.copyfile(filename, filename + '.bak')
 # convert file from the source encoding to target encoding
 content = codecs.open(filename, 'r').read()
 source_encoding = chardet.detect(content)['encoding']
 print source_encoding, filename
 content = content.decode(source_encoding) #.encode(source_encoding)
 codecs.open(filename, 'w', encoding=target_encoding).write(content)
def main():
 for root, dirs, files in os.walk(os.getcwd()):
  for f in files:
   if f.lower().endswith('.java'):
    filename = os.path.join(root, f)
    try:
     convert_encoding(filename, 'utf-8')
    except Exception, e:
     print filename
def process_bak_files(action='restore'):
 for root, dirs, files in os.walk(os.getcwd()):
  for f in files:
   if f.lower().endswith('.java.bak'):
    source = os.path.join(root, f)
    target = os.path.join(root, re.sub('\.java\.bak$', '.java', f, flags=re.IGNORECASE))
    try:
     if action == 'restore':
      shutil.move(source, target)
     elif action == 'clear':
      os.remove(source)
    except Exception, e:
     print source
if __name__ == '__main__':
 # process_bak_files(action='clear')
 main()

把程序拷贝到java源文件所在目录下运行就好了。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
python从入门到精通(DAY 2)
Dec 20 Python
理解Python垃圾回收机制
Feb 12 Python
详解python中的文件与目录操作
Jul 11 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python使用筛选法计算小于给定数字的所有素数
Mar 19 Python
pandas实现选取特定索引的行
Apr 20 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python用10行代码实现对黄色图片的检测功能
Aug 10 #Python
详解Python中dict与set的使用
Aug 10 #Python
分析并输出Python代码依赖的库的实现代码
Aug 09 #Python
python根据京东商品url获取产品价格
Aug 09 #Python
python制作一个桌面便签软件
Aug 09 #Python
Python 实现简单的电话本功能
Aug 09 #Python
python批量提取word内信息
Aug 09 #Python
You might like
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
详解如何运行vue项目
2019/04/15 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
python 异或加密字符串的实例
2018/10/14 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
工业学校毕业生自荐信范文
2014/01/03 职场文书
网站推广策划方案
2014/06/04 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
村党建工作汇报材料
2014/11/02 职场文书
留学推荐信中文范文
2015/03/26 职场文书
吴仁宝观后感
2015/06/09 职场文书