Fetch the repository succeeded.
using ast, re
using 语法树相关 in 语法树遍历
using * in 常量
func 读文件(文件名) {
try f=open(文件名, 'r', encoding='utf-8') {
return f.read()
}
}
func 带中文(标识符) {
return re.search('[\u4e00-\u9fa5]', 标识符) != nil
}
func 取标识符(源码文本) {
// println(语法树相关.格式化节点(ast.parse(源码文本), 1))
return 语法树相关.取所有标识符(ast.parse(源码文本))
}
所有标识符 = []
for 完整路径 in 目标路径.is_dir() ? list(目标路径.glob('**/*.py')) : [目标路径] {
try {
所有标识符 += 取标识符(读文件(完整路径))
} catch e : SyntaxError {
println("有语法错误:" + str(完整路径))
}
}
中文标识符 = list(filter(带中文, 所有标识符))
英文标识符 = list(filter(名称 -> !带中文(名称), 所有标识符))
排除无法中文化 = list(filter(名称 -> !无法中文化.__contains__(名称), 所有标识符))
if 所有标识符 {
println("中文标识符比例:" + str(round(#中文标识符 * 100.0 / #所有标识符, 1)) + "%")
println("排除无法中文化的如 len:" + str(round(#中文标识符 * 100.0 / #排除无法中文化, 1)) + "%")
}
标识符个数 = {:}
for 标识符 in 英文标识符 {
if !标识符个数.__contains__(标识符) {
标识符个数[标识符] = 1
} else {
标识符个数[标识符] = 标识符个数[标识符] + 1
}
}
英文标识符集合 = list(set(filter(名称 -> !无法中文化.__contains__(名称), 英文标识符)))
英文标识符集合.sort(key=标识符 -> -标识符个数[标识符])
println('`#英文标识符集合` 个名称待中文化,按词频排列:')
for 标识符 in 英文标识符集合 {
println('`标识符个数[标识符]` `标识符`,') if !无法中文化.__contains__(标识符) and 标识符个数[标识符] > 9
}
println('`#所有标识符` 个标识符,`#中文标识符` 个中文化的,`#英文标识符` 个英文的')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。