用Python给英语单词批量划分音节

2024-08-26 12:04

本文主要是介绍用Python给英语单词批量划分音节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题的缘起

最近,有网友在我的视频下面留言,问我可否把英语单词进行音节的划分?我以前也有同样的想法,但是始终没有得到解决。但是,我想使用python,学习英语的人都很多,说不定有人已经编写了类似的模块供我们调用呢?

问题截图

于是,我就抱着试试看的心情,在网上搜了一下,果然,某搜索引擎上,已经给出了答案,经过测试,我发现这个pyphen是一个不错的模块,它可以自动把任意单词按照音节来划分,不同的音节中间添加"-",正好符合网友的要求,于时我就尝试探索了一下,结果还不错。

二、下载安装pyphen

这个模块需要在cmd下使用以下命令进行安装:

pip install pyphen

然后通过以下代码导入这个模块:

from pyphen import Pyphen

接着我们需要传入语言代码,英语的语言代码是:en_US,根据官网(http://pyphen.org)显示,这个模块支持37种语言。语言列表如下所示,这里面包括德语、法语、捷克语、丹麦语等,基本上都是欧洲的语言,可谓功能十分强大。

序号英文中文
1Afrikaans南非荷兰语
2Albanian阿尔巴尼亚语
3Belarusian白俄罗斯语
4Bulgarian保加利亚语
5Catalan加泰罗尼亚语
6Croatian克罗地亚语
7Czech捷克语
8Danish丹麦语
9Dutch荷兰语
10English (Great-Britain and United-States)英语(英美)
11Esperanto世界语
12Estonian爱沙尼亚语
13French法语
14Galician加利西亚语
15German (Austria, Germany and Switzerland)德语(奥地利、德国和瑞士)
16Greek希腊语
17Hungarian匈牙利语
18Icelandic冰岛语
19Indonesian印度尼西亚语
20Italian意大利语
21Lithuanian立陶宛语
22Latvian拉脱维亚语
23Mongolian蒙古语
24Norwegian (Bokmål and Nynorsk)挪威语(书面语和新挪威语)
25Polish波兰语
26Portuguese (Brazil and Portugal)葡萄牙语(巴西和葡萄牙)
27Romanian罗马尼亚语
28Russian俄语
29Serbian (cyrillic and latin)塞尔维亚语(西里尔字母和拉丁字母)
30Slovak斯洛伐克语
31Slovenian斯洛文尼亚语
32Spanish西班牙语
33Swedish瑞典语
34Telugu泰卢固语
35Thai泰语
36Ukrainian乌克兰语
37Zulu祖鲁语

三、给英语单词划分音节

导入了这个划分音节的模块,下一步就可以轻松划分音节了。以下是人工智能给出的部分代码:

from pyphen import Pyphen# 创建一个Pyphen对象,需要传入语言代码和可选的字典文件
# 如果不指定字典文件,pyphen将会使用在线服务
# 这里使用英语,并假设你已经有了英语的字典文件
# 文件路径可以是相对路径或者绝对路径
ph = Pyphen(lang='en_US', dict_path='path_to_your_dictionary_file.dict')# 使用音节划分功能
word = 'revolution'
hyphenated = ph.inserted(word)  # 返回音节划分后的单词
print(hyphenated)  # 输出可能会是're-volu-tion'

对于英语单词音节的划分,我们可以省去导入字典,简化上述代码如下

from pyphen import Pyphen
ph = Pyphen(lang='en_US')
# 使用音节划分功能
word = 'application'
hyphenated = ph.inserted(word)  # 返回音节划分后的单词
print(hyphenated)  # 输出可能会是'ap-pli-ca-tion'

以下是在Win7系统下测试成功的截图:

测试成功截图

如果是对于多个单词的音节切分,我们可以先把单词格式化为列表,再用for循环来遍历完成,这里就不再赘述。

四、学后总结

经过以上的操作,我终于可以在我多个软件中实现对单词音节的划分了,一下子把软件提升了一个档次。

这种音节划分无疑为学生牢固掌握单词的发音,熟悉单词的音节,更好练好口语提供了较好的方法。

更多的模块信息大家可以参考其在github上的仓库:GitHub - Kozea/Pyphen: Hy-phen-ation made easy

这篇关于用Python给英语单词批量划分音节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1