美文网首页
获取指定目录下所有文件里边的中文字符(python)

获取指定目录下所有文件里边的中文字符(python)

作者: 辛乐 | 来源:发表于2019-01-30 14:47 被阅读10次

由于本人是写iOS的,所以demo就拿iOS的工程示例了,问题的需求来源是,app发了一版了,然后要整多语言,需要把工程中所有有用的中文字符拿去翻译,然后就参考了代码混淆的一个python脚本自己写了一个简单的例子,如下:


image.png

main.py文件

import os
import XLGetCNStrTool

def main():
    os.system("XLGetCNStrTool.py")
    print('add spam code finished!!')

if __name__ == '__main__':
    main()

XLGetCNStrTool.py

#-*- coding:utf-8-*-
#处理中文字符的情况
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import os
import re
import codecs

# 搜寻以下文件类型
suf_set = ('.h', '.m','.pch')
# 项目路径
# ../文件夹路径
project_path = '../LBankApp'

strStr = {"中文字符采集",}
for (root, dirs, files) in os.walk(project_path):
    for file_name in files:
        if file_name.endswith(suf_set):
            print('-----fileName-------' + file_name)
            with open(os.path.join(root, file_name), 'r+') as f:
                print('========fileName========' + file_name)
                s0 = f.readlines()
                f.close()
                for str in s0:
                    str = str.decode()
                    str = str.strip()
                    str = re.sub("[\u4e00-\u9fa5]", "", str)
                    str = re.sub("[A-Za-z0-9\!\%\[\]\,\。\(\)\{\}\.\"\'\&\+\-\/\|\~]", "", str)
                    str = str.replace(' ', '')
                    str = str.replace('\n', '').replace('\n', '')
                    if (str.find('//') < 0 and str.find('/*') < 0 and str.find('*') < 0 and str.find('#') < 0 and (str != '\n')):
                        str = str + '\n'
                        strStr.add(str)

print ("~~~遍历结束~~~")
list1 = list(strStr)
file_path = os.path.abspath('.') + '/cnStr.txt'
with codecs.open(file_path, 'a', encoding='utf-8') as f2:
    f2.writelines(list1)
    f2.close()
image.png
下面是代码混淆脚本:https://github.com/xinle13/addConfuseCode

相关文章

网友评论

      本文标题:获取指定目录下所有文件里边的中文字符(python)

      本文链接:https://www.haomeiwen.com/subject/dcccsqtx.html