🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/
一个小巧的库,可以避免自己重新开发功能。利用 Python 包 pangu,可以轻松实现在 CJK(中文、日文、韩文)和半宽字符(字母、数字和符号)之间自动插入空格。
在撰写中文技术博客时,我经常遇到一个问题:在中英文混排时,需要在英文字母、数字和符号两侧添加空格,以使排版更加美观。为了提高效率,让自己摆脱枯燥且容易出错的任务,我希望编写一个脚本来自动化完成这项工作。然而,在 GitHub 检索时,我发现 pangu
已经是一个构建良好的包,可以满足我的需求。
Github 地址:https://github.com/vinta/pangu.py
介绍 Python 包 pangu:
- pangu 是一个专为中文文本处理设计的 Python 库,旨在自动化地在中文文本和半宽字符(如字母、数字和符号)之间添加适当的空格,确保文本的排版美观且易读。
- pangu 不仅能够提高中文内容创作者的工作效率,还能节省大量手工处理排版的时间,特别是在涉及大量文章编辑的场合,效果尤为显著。
- 这个小巧的库支持大部分 Python3 版本,并且拥有灵活的接口,可以轻松集成到现有的 Python 项目中。
- 这个库取名为 pangu 的原因:可能寓意用来分隔混合的中英文字符?
在开始使用 pangu 之前,你需要先通过 pip 安装它。打开终端或命令提示符,输入以下命令:
pip install -U pangu
安装完成后,你就可以在 Python 代码中导入 pangu 并使用它。一个示例如下所示:
import pangu
original_text = f"""Datawhale是一个专注于Data Science与AI领域的开源组织,汇集了众多领域院校和知名企业的优秀学习者,\
聚合了一群有开源精神和探索精神的团队成员。
双语字幕视频:吴恩达x OpenAI的Prompt Engineering课程专业翻译版"""
print(original_text)
# 使用 pangu 处理文本
print("-" * 100)
processed_text = pangu.spacing(original_text)
print(processed_text)
最常见的使用场景是对混合的中英文文本添加合适的空格。pangu 提供了一个非常简单的函数 pangu.spacing
来实现这一点。执行上述代码,你会立刻得到带有正确空格的文本。pangu 自动在中文字符和英文字符之间加上了空格,从而改善了文本的可读性。
(PS. 三引号是 Python 中的一个强大工具,可以用于多种用途。无论是创建多行字符串、注释、模板字符串还是文档模板,它都能让我们的代码更加灵活和易读。👍)
处理文件
如果你需要处理整个文件,pangu 也有相应的函数 pangu.spacing_file
。你可以这样使用它:
import pangu
processed_text = pangu.spacing_file('input.md')
with open('output.md', 'w') as f:
f.write(processed_text)
假设 input.md
文件中的内容是没有正确添加空格的中英文混排文本。spacing_file
函数将处理该文件,并将格式化后的文本保存到 output.md
中。
CLI 使用说明
pangu 也可以作为命令行(command-line)工具使用。在安装了 pangu 之后,你可以直接在终端中运行以下命令来处理文件:
pangu -f input.md
pangu -t "Datawhale是一个专注于Data Science与AI领域的开源组织。。。"
PS. 传入文本文件时,注意文件路径得设置正确。
总结:在中英混排的文本编辑过程中,pangu 库的作用不可小觑。它通过自动在中文字符和英文字符之间添加空格的简单操作,大大提升了文档的整体可读性和美观度。