Python实现中文繁简转换:OpenCC与zhconv库详解

宋时安
宋时安
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍在Python环境中进行中文繁简转换的两种主流方案:OpenCC与zhconv。重点解析opencc-python-reimplemented的安装避坑、API调用及命令行用法,并演示zhconv的模块安装与简繁互转代码示例。内容涵盖地区用词差异处理,适用于网站自动翻译及文本本地化场景。

中文繁简转换的背景与挑战

在自然语言处理(NLP)领域,中文繁体与简体的差异类似于英文中的大小写,但复杂度远超后者。例如,同为繁体字,中国大陆、香港和台湾地区的用字习惯存在显著差异。此前曾撰写过关于中文繁简转换的文章,但觉得细节尚显不足。本文将针对Python环境下的具体实现方法进行更深入的记录与梳理。

OpenCC库详解与安装避坑

OpenCC(Open Chinese Convert)

OpenCC是一个开源的中文繁简转换项目,其核心功能包括词汇级别的转换、异体字处理以及针对不同地区(中国大陆、台湾、香港)的习惯用词转换。该工具的主要优势体现在以下几个方面:

  • 严格区分“一简对多繁”与“一简对多异”的情况,确保转换的准确性。
  • 完全兼容异体字,支持动态替换机制,适应不同场景需求。
  • 对“一简对多繁”词条进行严格审校,遵循“能分则不合”的原则,避免歧义。
  • 支持中国大陆、台湾、香港地区的异体字及习惯用词转换,例如“裏”与“裡”、“鼠標”与“滑鼠”的对应处理。
  • 词库与函数库完全分离,允许用户自由修改、导入或扩展自定义词库。
  • 提供多语言接口,支持C、C++、Python、PHP、Java、Ruby、JavaScript及Android平台。
  • 跨平台兼容,支持Windows、Linux和Mac操作系统。

opencc-python是一个用纯Python编写的OpenCC实现库。需要特别注意安装命令:正确的安装指令为pip install opencc-python-reimplemented。若错误地使用pip install opencc-python,将会遇到如下报错:

Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line 1, <module> File "C:\Users\qw\AppData\Local\Temp\pip-install-rvsnpo_d\opencc-python\setup.py", line 1, <module> from distribute_setup import use_setuptools ModuleNotFoundError: No module named 'distribute_setup'

以下是opencc-python的具体使用示例:


from opencc import OpenCC
 
cc = OpenCC('t2s')
# hk2s: Traditional Chinese (Hong Kong standard) to Simplified Chinese
# s2hk: Simplified Chinese to Traditional Chinese (Hong Kong standard)
# s2t: Simplified Chinese to Traditional Chinese
# s2tw: Simplified Chinese to Traditional Chinese (Taiwan standard)
# s2twp: Simplified Chinese to Traditional Chinese (Taiwan standard, with phrases)
# t2hk: Traditional Chinese to Traditional Chinese (Hong Kong standard)
# t2s: Traditional Chinese to Simplified Chinese
# t2tw: Traditional Chinese to Traditional Chinese (Taiwan standard)
# tw2s: Traditional Chinese (Taiwan standard) to Simplified Chinese
# tw2sp: Traditional Chinese (Taiwan standard) to Simplified Chinese (with phrases)
 
to_convert = '開放中文轉換(Pure Python)'
converted = cc.convert(to_convert)
print(converted)

此外,OpenCC也支持通过命令行直接调用,用法如下:


usage: python -m opencc [-h] [-i <file>] [-o <file>] [-c <conversion>]
            [--in-enc <encoding>] [--out-enc <encoding>]
 
optional arguments:
 -h, --help      show this help message and exit
 -i <file>, --input <file>
            Read original text from <file>. (default: None = STDIN)
 -o <file>, --output <file>
            Write converted text to <file>. (default: None = STDOUT)
 -c <conversion>, --config <conversion>
            Conversion (default: None)
 --in-enc <encoding>  Encoding for input (default: UTF-8)
 --out-enc <encoding> Encoding for output (default: UTF-8)
 
example with UTF-8 encoded file:
 
 python -m opencc -c s2t -i my_simplified_input_file.txt -o my_traditional_output_file.txt
 
See https://docs.python.org/3/library/codecs.html#standard-encodings for list of encodings.

总结而言,OpenCC的转换精度非常高,且内置了地区习惯用词转换功能,非常适合集成到网站中以实现自动化的语言翻译或本地化服务。

参考链接:

https://github.com/BYVoid/OpenCC https://github.com/yichen0831/opencc-python

zhconv库的使用与示例

zhconv

zhconv提供了基于MediaWiki和OpenCC词汇表的最大正向匹配简繁转换功能,支持多种地区词转换,包括zh-cn、zh-tw、zh-hk、zh-sg、zh-hans和zh-hant。该库兼容Python 2和Python 3。

安装方式:pip install zhconv

使用示例代码如下:


from zhconv import convert
 
print(convert(u'我幹什麼不干你事。', 'zh-cn'))
print(convert(u'人体内存在很多微生物', 'zh-tw'))

除了Python模块调用,zhconv还提供了命令行工具,用法如下:


python -mzhconv [-w] {zh-cn|zh-tw|zh-hk|zh-sg|zh-hans|zh-hant|zh} < input > output

参考链接:

https://github.com/gumblex/zhconv

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。