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数据结构之二叉树的建立实例
Apr 29 Python
Python抓取百度查询结果的方法
Jul 08 Python
详解Python如何获取列表(List)的中位数
Aug 12 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
如何在Python对Excel进行读取
Jun 04 Python
python包的导入方式总结
Mar 02 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP脚本的10个技巧(1)
2006/10/09 PHP
解决中英文字符串长度问题函数
2007/01/16 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
JavaScript的Function详细
2006/11/14 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Python正则表达式使用范例分享
2016/12/04 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
python中数字是否为可变类型
2020/07/08 Python
浅谈python出错时traceback的解读
2020/07/15 Python
如何理解委托
2012/01/06 面试题
护士个人总结范文
2015/02/13 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
居安思危观后感
2015/06/11 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL