【Python生活脚本】过滤重复汉字,特别适用于制作tft字库

news2024/9/29 7:15:26

忘记过去,超越自己

  • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
  • ❤️ 本篇创建记录 2023-10-27 ❤️
  • ❤️ 本篇更新记录 2023-10-27 ❤️
  • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
  • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
  • 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志 🔥零基础从入门到熟悉Arduino平台下开发ESP8266,同时会涉及网络编程知识。专栏文章累计超过60篇,分为基础篇、网络篇、应用篇、高级篇,涵盖ESP8266大部分开发技巧。

快速导航
单片机菜鸟的博客快速索引(快速找到你要的)

如果觉得有用,麻烦点赞收藏,您的支持是博主创作的动力。

文章目录

    • 1. 前言
    • 2. Python脚本

1. 前言

博主在制作tft 自定义字库时,有个特别需求就是:

无脑复制了一堆中文汉字,然后需要挑选出不重复的汉字,然后再转成UniCode

所以,首先要解决的就是

挑选出不重复的汉字

直接在网上找到了一个Py脚本,特此分享记录一下。

2. Python脚本

在这里插入图片描述

import re

# 打开文件
fr = open('./脚本使用.txt', 'r', encoding='UTF-8')
# 读取文件所有行
content = fr.readlines()
fr.close()
contentLines = ''

characers = []

stat = {}

# 依次迭代所有行
for line in content:
    # 去除空格
    line = line.strip()
    if len(line) == 0:
        continue
    contentLines = contentLines + line
    # print(line)
    # 统计每一字出现的个数
    for x in range(0, len(line)):
        # 如果字符第一次出现 加入到字符数组中
        if not line[x] in characers:
            characers.append(line[x])
        # 如果是字符第一次出现 加入到字典中
        if line[x] not in stat:
            stat[line[x]] = 1
        # 出现次数加一
        stat[line[x]] += 1

# 对字典进行倒数排序 从高到低 其中e表示dict.items()中的一个元素,
# e[1]则表示按 值排序如果把e[1]改成e[0],那么则是按键排序,
# reverse=False可以省略,默认为升序排列
stat = sorted(stat.items(), key=lambda e: e[1], reverse=True)
# 打印stat 每个字和其出现的次数 stat经过排序后变成二元组
# print(stat)
# for i in range(len(stat)):
#     print(stat[i][0],stat[i][1])
str_data = ''
for i in stat:
    str_data += i[0]
print(str_data)
print('全文共有%d个字' % len(contentLines))
print('一共有%d个不同的字' % len(characers))

with open('data.txt', 'w', encoding='utf-8') as f2:  # 写入文件
      # 写个头文件
      f2.write(str_data)


直接执行这个脚本。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python + requests实现接口自动化框架!

为什么要做接口自动化框架 1、业务与配置的分离 2、数据与程序的分离;数据的变更不影响程序 3、有日志功能,实现无人值守 4、自动发送测试报告 5、不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具…

Java中的类和对象 (二)

目录 1.封装 1.1 封装的概念 1.2 访问限定符 1.3 封装扩展之包 1.3.1 包的概念 1.3.2 导入包中的类 1.3.3 自定义包 1.3.4 包的访问权限控制举例 1.3.5 常见的包 2. static成员 2.1 static修饰成员变量 2.2 static修饰成员方法 2.3 static成员变量初始化 …

Python+Pytest+Request【第一章】接口框架介绍

接口框架介绍 businesscommonconfigoutputstest_reporttestcase business business目录下面我们会放一些底层接口信息,会将封装好的一些方法组装成一个动作,你可以理解为一个组装车间,把已经写好的零部件组合起来,组成一个车子的…

[量化投资-学习笔记002]Python+TDengine从零开始搭建量化分析平台-MA均线的多种实现方式

MA 均线时最基本的技术指标,也是最简单,最不常用的(通常使用EMA、SMA)。 以下用两种不同的计算方法和两种不同的画图方法进行展示和说明。 MA 均线指标公式 MA (N)(C1 C2 C3 …C N )/N目录 方式一1.SQL 直接查询均值2.使用 pyp…

带你深入理解“栈”(c语言 c++和stl Stack三个版本的模拟实现)

目录 一.栈的概念及结构 二.栈的实现(c语言版) 2.1静态增长的栈 2.2动态增长的栈 2.3动态栈的模拟实现 1.栈的初始化 2.入栈 3.出栈 4.获取栈顶元素 5.获取栈中有效数据个数 6.检查栈是否为空 7.栈的销毁 三.C 版本模拟实现栈 1.C版本的源代码…

java代理示例

以上代码通过Apache HttpComponents库,使用Java其中,proxy_host参数为代理服务器的主机名,proxy_port参数为服务器的端口号。程序首先创建了一个HttpGet对象,然后创建了一个HttpClient对象。接着,设置了HttpGet对象的U…

使用Typecho搭建个人博客网站,并内网穿透实现公网访问

使用Typecho搭建个人博客网站,并内网穿透实现公网访问 文章目录 使用Typecho搭建个人博客网站,并内网穿透实现公网访问前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 …

接口测试 —— Requests库GET请求!

Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求。 (不带参数的GET请求请看上一篇文章的练习) 1、Requests库待参数的GET请求 使用Get方法带参数请求时,是params参数字典,而不是data参数字典。data参数字典…

亚马逊云科技Amazon Lightstail(VPS)与其他主流VPS相比优势在哪里?

亚马逊云科技作为全球网络科技的一方巨擘,在全球云计算领域可谓一枝独秀。而说到云计算领域,作为入门和基础使用场景的VPS就是一个无法绕开的话题。那么亚马逊云科技又有什么样的优势呢?今天这篇文章就市面现有的VPS服务做比较,解…

MYSQL数据库的概念和sql语句

数据是什么 数:数字信息 据:属性或某种凭据 数据:对一些列对对象的具体属性的描述信息的集合。 数据库是什么 数据库:就是用来组织 (按照规则组织起来的) ,存储和管理 (对数据的增、删、改、查) 数据的仓库。 数…

【C++】set multiset

文章目录 前言1.set介绍2.set的使用3.multiset介绍4.multiset的使用 前言 知识铺垫:关联式容器和值键对概念 链接-【C】关联式容器 & 键值对(概念介绍) 1.set介绍 set文档 翻译: set是按照一定次序存储元素的容器&#xff…

2023年安全生产监管人员证考试题库及安全生产监管人员试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年安全生产监管人员证考试题库及安全生产监管人员试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试…

typedef复杂函数接口的解释

文章目录 typedef定义函数解释interface.h接口1、函数定义2、函数实现加载动态链接库3、sdologinentry.dll或者sdologinentry64.dll动态链接库哪个工程生成的并导出三个接口函数4、sdologinsdk.dll或者sdologinsdk64.dll动态链接库哪个工程生成并导出三个接口函数 typedef定义函…

redis爆满导致数据丢失

记一则redis爆满导致数据丢失的一场事故 某功能上线后,发现出现问题,最后定位到了 redis. 由于存储的数据过多,导致阿里云4G大小的 redis 爆满,触发了回收策略。 于是临时扩容,运维同学当时未找到阿里云配置。 后面我用工具连接了…

微服务-Feign

文章目录 Feign介绍Feign的基本使用自定义Feign的配置Feign性能优化Feign最佳实践 Feign介绍 RestTemplate远程调用存在的问题:代码可读性差,java代码中夹杂url;参数复杂很难维护 String url "http://userservice/user/" order.g…

常见MySQL数据库无法启动的解决方案

前言: 数据库无法启动是在运维中常见的问题,大多是重启服务器、磁盘损坏、配置不当导致的。建议您在面板计划任务中做个数据库全部备份的计划任务,这样在遇到问题的情况下可以及时通过备份进行恢复。 在根据下面的案例尝试恢复或者启动数据库…

dedecms 文件上传(CVE-2019-8933)

dedecms 文件上传(CVE-2019-8933) 漏洞简介 远程攻击者可通过在添加新模板时,将文件名…/index.html更改成…/index.php利用该漏洞向uploads/目录上传.php文件并执行该文件。 后台路径:/uploads/dede/ 后台密码:admi…

贪心算法学习——最大数

目录 ​编辑 一,题目 二,题目接口 三,解题思路级代码 一,题目 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大…

WEB使用百度地图展示某地地址

第一步 进入百度地图开发平台 百度地图开放平台 | 百度地图API SDK | 地图开发 第二步注册 获取AK秘钥,点击【创建应用】进入AK申请页面,填写应用名称,务必选择AK类型为“浏览器端”,JS API只支持浏览器端AK进行请求与访问 下面…

AVM赛道研究:预计2024年渗透率突破50%!下一个破局点在哪儿?

作为一个典型的基础智能化细分赛道,全景环视(AVM)的发展历程值得市场借鉴。 这其中的原因包括,①对比渗透率仍处低位的高阶智驾,单一AVM赛道的产品基本进入成熟期(渗透率继续高歌猛进)&#xf…