xpinyin icon indicating copy to clipboard operation
xpinyin copied to clipboard

Translate Chinese hanzi to pinyin (拼音) by Python, 汉字转拼音

xpinyin

Translate Chinese hanzi to pinyin (拼音) by Python, 汉字转拼音

.. image:: https://github.com/lxneng/xpinyin/workflows/Tests/badge.svg :target: https://github.com/lxneng/xpinyin/actions?query=workflow%3ATests

.. image:: https://img.shields.io/travis/lxneng/xpinyin.svg :target: https://travis-ci.org/lxneng/xpinyin

.. image:: https://img.shields.io/pypi/v/xpinyin.svg :target: https://pypi.python.org/pypi/xpinyin/

.. image:: https://img.shields.io/pypi/dm/xpinyin.svg :target: https://pypi.python.org/pypi/xpinyin/

Install

Python version >= 3.6

.. code-block:: python

pip install -U xpinyin

Python version < 3.6

.. code-block:: python

pip install xpinyin==0.5.7

Usage

.. code-block:: python

>>> from xpinyin import Pinyin
>>> p = Pinyin()
>>> # default splitter is `-`
>>> p.get_pinyin("上海")
'shang-hai'
>>> # show tone marks
>>> p.get_pinyin("上海", tone_marks='marks')
'shàng-hǎi'
>>> p.get_pinyin("上海", tone_marks='numbers')
>>> 'shang4-hai3'
>>> # remove splitter
>>> p.get_pinyin("上海", '')
'shanghai'
>>> # set splitter as whitespace
>>> p.get_pinyin("上海", ' ')
'shang hai'
>>> p.get_initial("上")
'S'
>>> p.get_initials("上海")
'S-H'
>>> p.get_initials("上海", '')
'SH'
>>> p.get_initials("上海", ' ')
'S H'
>>> # get_initials with retroflex, #39
>>> p.get_initials("上海", splitter='-', with_retroflex=True)
'SH-H'
>>> # New in version 0.7.0, get combinations of the multiple readings of the characters
>>> p.get_pinyins('模型', splitter=' ', tone_marks='marks')
['mó xíng', 'mú xíng']
>>> p.get_pinyins('模样', splitter=' ', tone_marks='marks')
['mó yáng', 'mó yàng', 'mó xiàng', 'mú yáng', 'mú yàng', 'mú xiàng']