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 相关文章推荐
wxpython 学习笔记 第一天
Feb 09 Python
Python之web模板应用
Dec 26 Python
Python切片索引用法示例
May 15 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 Python
python3获取当前目录的实现方法
Jul 29 Python
Python时间序列缺失值的处理方法(日期缺失填充)
Aug 11 Python
python批量解压zip文件的方法
Aug 20 Python
python的time模块和datetime模块实例解析
Nov 29 Python
详解Python中namedtuple的使用
Apr 27 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
Python 如何操作 SQLite 数据库
Aug 17 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.ini中文版
2006/10/09 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
js实现密码强度检验
2017/01/15 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
巴西在线鞋店:Shoestock
2017/10/28 全球购物
水果花束:Fruit Bouquets
2017/12/20 全球购物
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
中学生评语大全
2014/04/18 职场文书
五年级学生评语
2014/04/22 职场文书
企业总经理任命书
2014/06/05 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
司机岗位职责
2015/02/04 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
Redis三种集群模式详解
2021/10/05 Redis
Python语言内置数据类型
2022/02/24 Python
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python