在上乙個專案中用python2.0實現了lua指令碼中的中文正則匹配,然後自動生成配置指令碼,便於翻譯和本地化 傳送門
而且支援忽略匹配cclog中的中文,但是沒有支援忽略注釋中的中文(雙引號內的中文)
在這個專案中,改用python3.0實現js指令碼中中文正則匹配,相對於2.0有部分修改,主要是print函式,bytes和str型別進行區分。中文匹配字串指令碼,並生成chineseforcehua.js檔案給策劃,log.txt日誌檔案,需要策劃手動配置,適用於最後驗收版本時一次性修改,需要在py當前路徑自建檔案new_js和old_js,將src資料夾放到old中,執行後將new覆蓋到src
還在為**中的中文需要策劃配置好靜態資料而溝通等待煩心嗎?
快使用findchinese.py指令碼(專案根目錄)
使用時機:op2封板
功能:遍歷src中所有js檔案,正則匹配中文,用cocosutility.getclientmessage(「檔名n」)規則進行替換
執行方法:安裝python3.0 控制台執行》python findchinese.py
執行前提:在指令碼當前目錄建立資料夾檔案new_js和old_js,將src資料夾拷貝到 old_js中
執行結果:在 new_js中會自動匯出替換後的js,在指令碼當前目錄生成chineseforcehua.js和log.txt兩個檔案,其中 chineseforcehua.js交給策劃配置, log.txt是日誌檔案,便於糾正
不用擔心:會自動過濾」helptool.log」,」cc.log」,」console.log」,和注釋中的中文
快快和我一起在**裡盡情的寫中文吧,讓策劃專心出文件,免去了 找策劃配中文 - 執行jenkins - 更新靜態資料git - 替換txt - 修改** 這種繁瑣的操作~
效果圖:
完整**:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import os
import importlib,sys
importlib.reload(sys)
# sys.setdefaultencoding('utf8')
print (sys.getdefaultencoding())
#list files
deflistfiles
(dirpath):
filelist=
for root,dirs,files in os.walk(dirpath):
for fileobj in files:
return filelist
defmain
(): filedir = os.getcwd() + "/old_js"
filetarget = os.getcwd() + "/new_js"
filelist = listfiles(filedir)
logdata = open("./log.txt", 'w+')
open("./chineseforcehua.js", 'w+')
fdata = open("chineseforcehua.js", "r+", encoding='utf-8', errors='ignore')
fdata.seek(0, 0)
fdata.truncate()
fdata.write('var localization = \nreturn localization')
fdata.close()
if __name__=='__main__':
main()
# attention:chineseforcehua.js 放在findchinese.py指令碼同級目錄,將luascripts資料夾拷貝到(同級目錄下)old_js資料夾中,執行指令碼,new_js(同級目錄下)資料夾中為修改的檔案
python3 0中各種編碼問題
目前python2.0還在使用,但可以看出python3.0才是未來的主流。因此本文主要研究的是python3中的各編碼問題。unicodeencodeerror錯誤 字元編碼錯誤 在python2中,系統預設的編碼方式是 ascii碼。字母 標點和其他字元只使用乙個位元組來表示,但對於中文字元來說...
Python3 0的新改動
這篇文章主要介紹了相比於python2.6,python3.0的新特性。更詳細的介紹請參見 python3.0的文件。common stumbling blocks 本段簡單的列出容易使人出錯的變動 初學者應該注意 old print the answer is 2 2 new print the ...
python 3 0 在for中使用insert
首先在python 3.0手冊中有這麼個示例 a cat window defenestrate for x in a make a slice copy of the entire list if len x 6 a.insert 0,x a defenestrate cat window def...