Python实现获得所有拼音为某个拼音的所有汉字

这篇具有很好参考价值的文章主要介绍了Python实现获得所有拼音为某个拼音的所有汉字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

好久没有写博客了,这几年的开发让我感受良多,同时我也感觉到了我自己成长的还不够。所以,以后这里将会有我个人所有的项目经验总结,以及项目中使用到的一些方便的小工具也会写出来。

目录

前言

一、获取所有拼音为某个拼音的汉字。

二、拿到所有项目中的代码,并拷贝在同一份TXT文件当中

三、将连续的字符串改成一个字单独一行

总结



前言

随着项目的开发,项目上线审核的时候,最麻烦的一项:就是屏蔽词的审核,在这里我建议大家,如果项目中有修改昵称或者屏蔽非法文字的需求的话,一定要弄一个屏蔽词库,最好放在客户端。这个屏蔽词库里面要全部小写,然后玩家在修改昵称的时候,把大写转成小写。然后再进行屏蔽词对比。有时候,审核人员会有各种各样奇怪的需求。比如:所有拼音是wei或者是xin的汉字都不能出现。还有一些会让你给出所有的项目代码或者项目中的文字。我都遇到过,接下里给大家介绍我是怎么解决这些情况的


一、获取所有拼音为某个拼音的汉字。

这种情况是真的还好,但也着实EX。比如:所有拼音是wei和拼音是xin的汉字都不能出现(在不考虑声调的情况下)。这个难点有几个:

  1. 我怎么知道某个汉字的拼音是什么?
  2. 我怎么拿到所有的汉字

这里我推荐大家使用python来完成这项工程。

首先,需要大家先加载python中的拼音库,因为需要用这个来获取当前汉字的拼音

可以在在命令提示符中输入如下代码

pip install xpinyin

 然后回车,等待安装完毕。然后打开自己的编辑工具。下出以下代码,然后执行就可以获取到所有拼音是该拼音的汉字。代码如下:

from xpinyin import Pinyin
p = Pinyin()
def pinyin(word):
    # 转换,不显示声调,使用空格作为分隔符。
    ret = p.get_pinyin(word,tone_marks=None,splitter=' ')
    print(ret)

all_chiness = ""
for i in range(0x4e00,0x9fa6):
    str = chr(i)
    ret = p.get_pinyin(str,tone_marks=None,splitter=' ')
    if ret == "wei" :
        all_chiness += str

print(all_chiness)

执行结果如下:

Python实现获得所有拼音为某个拼音的所有汉字

 这样子我们就获取到了所有的拼音是wei的汉字,还不包括声调的。如果想要知道详细的xpinyin的用法。大家可以参考这个:

点击这里前往学习

二、将项目中所有的代码,拷贝在同一份TXT文件当中

这是要求你必须得把所有项目的代码拷贝到一个TXT文件中。二话不说,直接上代码

import os

class CopyScriptToTxt:
    def CopyFile(self,srcPath,destPath):
        src = open(srcPath,"r",encoding='UTF-8');
        dest = open(destPath,"a",encoding='UTF-8');

        for line in src:
            dest.write(line);

        dest.write('\n');
        src.close();
        dest.close();

tempCopy = CopyScriptToTxt();
# 项目代码所在总目录
g = os.walk(r"C:\Program Files\Games\FPS\Scripts")
# 目标文件,最好先创建好
setDestPath = r"C:\Users\Administrator\Desktop\temp.txt"

for path,dir_list,file_list in g:
    for file_name in file_list:
        filePath = os.path.join(path, file_name)
        print(filePath)
        tempCopy.CopyFile(filePath, setDestPath);

到此,执行该脚本,然后打开桌面上的temp文件,你就发现你所有的代码都在这里了。

三、将连续的字符串改成一个字单独一行

这里就要用到正则表达式了,就是匹配出所有的中文汉字。这里的难点并不是匹配汉字,而是怎么把匹配到的汉字分开。

这次我并没有用到Python,而是用到了Lua。

首先介绍以这个string.gmatch(全局模式)这个方法:创建并返回一个迭代器,可用于for语句中迭代的进行全局查找。迭代器每执行一次返回一个找到的字符串,如果在模式串中用圆括号指定的匹配分组,则返回值有多个分别对应各个匹配分组的捕获结果。分组可以相互嵌套,捕获结果返的顺序对应模式串中匹配分组的左圆括号出现的前后顺序。如果你希望第一个返回值是匹配结果的完整字符串,那么请将整个模式串包含在一对圆括号内。

接下来上代码:

local txt = ""
-- 这个str就是第一个获得的所有拼音为wei的汉字
local str = "微危委威巍薇偎蜲揻詴溦隈燰鰄崴縅揋覣楲隇喴煨鰃媙癓嶶葳愄蝛倭椳逶厃烓霺癐鳂嵔葨围唯维违为桅洈蓶壝溈違峞潿鍏帷爲隹撝矀鮠囲沩圩湋峗潙醀帏為闱惟琟韦囗欈維圍涠覹媁潍鄬嵬濰闈幃犩韋喡硙尾伪委伟纬萎苇偉愇玮葦骪儰撱痏薳鲔娓梶碨踓浘韑嵔瀢芛韪徫猥骩僞捼瓗蔿鮪暐硊诿寪洧緯隗崣濻艉韡廆煒荱颹偽捤瑋蒍骫唩斖痿諉媁椲磈鍡屗渨腲韙亹嶉炜頠未卫喂遗位味慰胃为畏谓猬魏蔚尉罻軎煟菋蘶鏏犚螱餵瓗褽鮇媦硙讏懀緭躛為苿藯爲蝟餧衞墛瞆讆磑躗渭轊熭蜼霨叞猚衛饖喡謂鳚新欣薪心辛锌芯俽盺妡邤惞鑫杺馫炘噺莘廞忻鋅昕馨歆噷嬜訢忄鈊枔鐔襑礥镡伈信衅芯脪釁伩馸孞焮軐顖囟憖舋訫阠愖"
for k, v in string.gmatch(str, "[%z\1-\127\194-\244][\128-\191]*") do
    txt = txt.."\n"..k
end
print(txt)

点击这里可以在线测试代码

总结

以上这些,都是作者在项目审核中遇到的情况,各有各的不同,各有各的操作。最后,希望审核人员、渠道客服以及技术人员不要天天五点钟下班吧!文章来源地址https://www.toymoban.com/news/detail-407521.html

到了这里,关于Python实现获得所有拼音为某个拼音的所有汉字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 汉字的音韵之美:中文拼音的魅力之旅

    导语:中文拼音作为汉字的语音表达方式,已经深入人心。它不仅有助于汉字的学习与传播,还为汉语的国际化铺平了道路。本文将为您详细介绍中文拼音的起源、发展及其在我国教育、科技、文化等方面的广泛应用,带您领略这一古老而又现代的语音体系的独特魅力。 汉字

    2024年02月03日
    浏览(38)
  • Microsoft SQL Server 编写汉字转拼音函数

    目录 应用场景 举例 函数实现 小结 在搜索应用中,我们一般会提供一个搜索框,输入关健字,点击查询按钮以获取结果数据。大部分情况我们会提供模糊查询的形式以在一个或多个字段进行搜索以获取结果。这样可以简化用户的操作,扩大搜索范围,为提高精度而提供基础

    2024年03月12日
    浏览(36)
  • Office365 Excel中使用宏将汉字转拼音

    文件 - 选项 - 信任中心 - 信任中心设值 - 宏设值 启用VBA宏 启用VBA宏时启用Excel 4.0宏 信任对VBA工程对象模型的访问 视图 - 查看宏 填写名字创建宏:getpy 填入下面代码 保存,点击否,另存类型为“excel启用宏的工作簿”,然后再保存 使用方式 =getpy(要转换拼音的单元格编号)

    2024年02月10日
    浏览(39)
  • JavaScript、微信小程序 根据汉字拼音首字母进行归类分组

    在微信小程序里面不支持这个localeCompare方法,所以有了下面的方法 我们需要一个 开源的汉字库 ,也就是码表。这个库就可以。git库 不想去git下载直接拉到最底下有js文件,直接复制就行。 然后页面引入 china.js代码

    2024年02月11日
    浏览(40)
  • 批量将Excel中的第二列内容从拼音转换为汉字

    要批量将Excel中的第二列内容从拼音转换为汉字,您可以使用Python的openpyxl库来实现。下面是一个示例代码,演示如何读取Excel文件并将第二列内容进行拼音转汉字: from openpyxl import load_workbook from xpinyin import Pinyin # 打开Excel文件 wb = load_workbook(\\\'your_excel_file.xlsx\\\') # 选择要操作的

    2024年02月12日
    浏览(39)
  • python django获取某个角色的某个数据和——例如:获取所有订单的应付金额总和

    model关系如下: 获取指定时间段内所有订单的应付金额总和 方法一:使用aggregate() 方法二:使用sum()

    2024年02月06日
    浏览(34)
  • python调用海康视频汇聚平台API,获得所有摄像头设备编号、实时播放rtsp地址、回放rtsp地址

    1. 需求 海康视频汇聚平台(综合安防管理平台(iSecure Center)V2.1.0)的openAPI的demo均为c++/java代码,官方没有python代码。 需通过汇聚平台获得所有摄像头的设备编号,利用设备编号获得摄像头IP地址和rtsp地址。 2. 思路 根据海康开放平台官方文档《资源中心综合安防管理平台(

    2024年02月10日
    浏览(59)
  • microsoft.office.interop.word 怎样 读取 某个汉字 字体颜色为红色

    SKY[管理]筱傑 @SKY[机器]筱淋 microsoft.office.interop.word 怎样 读取 某个汉字 字体颜色为红色呢? 要读取某个汉字的字体颜色是否为红色,您可以使用Microsoft.Office.Interop.Word来进行操作。以下是一个示例代码,可以帮助您实现该功能: 请注意,您需要替换\\\"your_document_path.docx\\\"为您要

    2024年02月09日
    浏览(50)
  • 已知深度图,获得某个像素点的三维坐标

    要根据深度图获取某个像素点的三维坐标,需要知道该像素点在相机坐标系中的坐标以及相机的内部参数和外部参数。 首先说明以下视觉中四大坐标系的转换关系: 1.假设深度图的大小为HxW,要获取像素点(i,j)的三维坐标 2.首先,需要将该像素点的坐标从图像坐标系转换到相

    2024年02月12日
    浏览(46)
  • uniapp 中过滤获得数组中某个对象里id:1的数据

    JavaScript中的Array.filter()方法来过滤获取数组中某个对象里id:1的数据 延伸: filter() 创建一个新的数组,新数组的元素是符合指定条件的元素,不会检测空数组,不会改变原来的数组。 map() 返回一个新的数组,新数组的元素是原数组的元素按照顺序依次处理后的值。 foreach() 循

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包