Python脚本自动提取和替换代码中的中文
# -*- coding: utf-8 -*-
import os
import os.path
import re
import sys reload(sys)
sys.setdefaultencoding( "utf-8" ) root_path = os.getcwd()+ os.sep
list_name = ""
str_list = [] # full path
def check_file(file):
dic = os.path.splitext(file)
file_n = os.path.split(file)
if dic[1] == ".lua" and file_n[1] != "Language.lua":
return True
return False def is_file(path):
return os.path.isfile(path) def replace(match):
if re.search(u'[\u4e00-\u9fa5]+', match.group(0)) != None:
global list_name
if match.group(0) in str_list:
return "Util" + list_name+".str"+str(str_list.index(match.group(0)))
else:
str_list.append(match.group(0))
return "Util" + list_name+".str"+str(len(str_list)-1)
else:
return match.group(0) def replace_china(path):
lua_file = open(path)
file_content = lua_file.read()
# lua中tabel的名字
global list_name, str_list
str_list = []
list_name = os.path.split(path)[1][:-4].upper()
try:
utf_content = file_content.decode("utf8")
except:
print path
return
re_str=u'"(.*?)"'
pattern = re.compile(re_str)
results = pattern.sub(replace, utf_content) if results != utf_content:
#写入文件
write_file(path, results)
create_tabel(path) def write_file(path, replace_str):
lua_file = open(path, "w")
lua_file.write(replace_str)
lua_file.close() # 创建lua中的tabel
def create_tabel(path):
global list_name
lua_tabel = open("common\utils\Language.lua", "a")
lua_tabel.write("\n")
lua_tabel.write("Util" + list_name + " = {\n")
for index, china_str in enumerate(str_list):
lua_tabel.write(" str" + str(index) + " = " + china_str + ",\n")
lua_tabel.write("}")
lua_tabel.close() def walk_dir():
for root, dir_names, file_names in os.walk(root_path):
for file_name in file_names:
full_path = os.path.join(root, file_name)
if is_file(full_path):
if check_file(full_path):
replace_china(full_path)
else:
walk_dir(full_path) if __name__ == "__main__":
walk_dir()
# replace_china(sys.argv[1])
Python脚本自动提取和替换代码中的中文的更多相关文章
- 使用python脚本实现统计日志文件中的ip访问次数
使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...
- Cocos2dx 代码中包含中文导致编译错误的问题解决方法
从网上下载一个cocos2dx的源码,是IOS版本的,我将其迁移到windows 7下 ,用VS2010编译,出现一堆的C2001错误: 1>d:\cocos2d-x-2.2.6\mygame\ ...
- linux shell 脚本获取和替换文件中特定内容
1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...
- IDEA中的替换功能(替换代码中的变量名很好用哦)
刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...
- 利用Python 脚本生成 .h5 文件 代码
利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue ...
- 解决python代码中含有中文报错
python中写入中文时报错如下图所示: 依照网上解决方法:在py文件中加入:#encoding=utf-8 然后继续报错如下图所示: 解决方法: 在py文件中加入: import sysreload ...
- 如何设置可以避免php代码中的中文在浏览器中成为乱码?
其实很简单,只需要在代码开始的前面加上一条这样的语句就行: //这里面我的浏览器中的字符编码格式为utf-8,所以这里我设置为utf-8,如果你的浏览器中的默认编码不是这个,请选择浏览器默认的编码格式 ...
- JAVA 代码中使用中文的办法
在编译代码中插入 -encoding UTF-8 示例: javac -encoding UTF-8 *.java
- xcode在代码中查找中文
总是忘记xcode中查找中文,这次记下来,以后就不会忘记了,哈哈 请看下图: 切换到查找,点击find后面的text,选择Regular Expression,然后输入 1. 查找非ascii的字符 ...
随机推荐
- 测试一下OpenLiveWriter
$$ \sum_{0}^{n} k_i $$ OpenLiveWriter好丑啊啊啊啊,什么鬼?
- jQuary学习の三の效果展示
一.隐藏显示 1.$(selector).hide(speed,callback);2.$(selector).show(speed,callback); 可选的 speed 参数规定隐藏/显示的速度 ...
- [转]Ubuntu Linux 安装 .7z 解压和压缩文件
[转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-g ...
- conda创建py27虚拟环境安装theano(anaconda3)
现在python3已经成为主流的python环境,大部分的package都兼容python3,仍然有一小部分,或者说是某一领域的package需要使用python2.本人现在主要在利用python做机 ...
- TrueCrypt
其实很早之前就知道这个软件,不过之前没有使用,今天折腾了一把,记录下使用过程中遇见的一些问题. 百度百科: TrueCrypt,是一款免费开源的加密软件,同时支持Windows Vista,7/XP, ...
- php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
if(isset($_POST['submit'])) 它的意思是不是判断是否配置了$_POST['submit'] 这个变量呢?如果有这个变量 在执行其它代码 应该这样用if(isset($_POS ...
- unity A*寻路 (一)导出NavMesh数据
使用unity的API NavMesh.CalculateTriangulation 可以获取NavMesh数据 首先 我们创建一个新的工程 保存一个test场景 然后在场景中添加一个Plane作 ...
- Online Judge(OJ)搭建——4、具体实现
代码编译.运行.保存: 本系统目前支持 Java.C++ 的编译.如有其他语言需要编译,扩展也很简单,因为这里使用了一个抽象类LanguageTest,处理好代码运行编译之前的文件保存,代码运行之中的 ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- vue简单的自由拖拽
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...