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 相关文章推荐
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
python字典基本操作实例分析
Jul 11 Python
在Python中移动目录结构的方法
Jan 31 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
Python中垃圾回收和del语句详解
Nov 15 Python
对pandas处理json数据的方法详解
Feb 08 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
Django中modelform组件实例用法总结
Feb 10 Python
Django自定义列表 models字段显示方式
Apr 03 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分页代码实例
2013/10/24 PHP
php日历制作代码分享
2014/01/20 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
python操作文件的参数整理
2019/06/11 Python
Python的互斥锁与信号量详解
2019/09/12 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
500行python代码实现飞机大战
2020/04/24 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
大学生村官事迹材料
2014/01/21 职场文书
大学生创业感言
2014/01/25 职场文书
少先队活动总结
2014/08/29 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python