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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
开始着手第一个Django项目
Jul 15 Python
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
Python之Web框架Django项目搭建全过程
May 02 Python
Python批量更改文件名的实现方法
Oct 29 Python
简单实现Python爬取网络图片
Apr 01 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 Python
python设置环境变量的作用整理
Feb 17 Python
python实现滑雪游戏
Feb 22 Python
PyCharm永久激活方式(推荐)
Sep 22 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中数组的三种排序方法分享
2012/05/07 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
JavaScript async/await原理及实例解析
2020/12/02 Javascript
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
关于Django Models CharField 参数说明
2020/03/31 Python
django修改models重建数据库的操作
2020/03/31 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
实习生的自我评价
2014/01/08 职场文书
校本教研工作制度
2014/01/22 职场文书
社区工作感言
2014/02/21 职场文书
法律专业自荐信
2014/06/03 职场文书
比赛口号大全
2014/06/10 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
正则表达式基础与常用验证表达式
2022/06/16 Javascript