Python3 0 實現js指令碼中中文識別替換

2021-08-28 02:14:17 字數 2168 閱讀 6615

在上乙個專案中用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...