from pypinyin import lazy_pinyin, pinyin, Style
datastring = """
你好
""".strip().split()
def getallpinyin(data):
"""返回全部拼音,例如:你好 => nihao"""
# 获取拼音列表
pinyin_list = lazy_pinyin(data)
# 将拼音列表中的拼音合并成一个字符串
result = ''.join(pinyin_list)
return result
def get_first_pinyin(data):
"""返回拼音首字母,例如:你好 => nh"""
# 获取拼音列表,使用 Style.FIRST_LETTER 获取每个字的首字母
pinyin_list = pinyin(data, style=Style.FIRST_LETTER)
# 提取每个拼音的首字母并将它们合并成一个字符串
result = ''.join([item[0] for item in pinyin_list])
return result
def get_pinyin_with_tones(data):
"""返回带声调的拼音,例如:你好 => nǐ hǎo"""
# 获取拼音列表,使用 Style.TONE 获取每个字的拼音(带声调)
pinyin_list = pinyin(data, style=Style.TONE, heteronym=False)
# 将拼音列表中的拼音合并成一个字符串,每个拼音之间用空格分隔
result = ' '.join([item[0] for item in pinyin_list])
return result
for i in datastring:
all = getallpinyin(i)#获取全拼
first = get_first_pinyin(i)#获取首拼
tons = get_pinyin_with_tones(i)#获取全拼带声调
print(all)
print(first)
print(tons)
【输出结果】
nihao
nh
nǐ hǎo