用Python获取一个文件中通用规范汉字(8105个)每个字的部首
时间: 2023-05-30 16:01:57 浏览: 189
我们可以使用Python的中文字符集库中已经定义好的通用规范汉字集合,然后使用部首库进行匹配,最后输出每个汉字对应的部首。
以下是示例代码:
```python
import unicodedata
# 获取通用规范汉字集合
chinese_chars = [chr(i) for i in range(0x4e00, 0x9fa6)]
# 加载部首数据
with open('radicals.txt', 'r') as f:
radicals = f.read().splitlines()
# 获取每个汉字的部首
for char in chinese_chars:
# 使用unicodedata库获取汉字的unicode名称
name = unicodedata.name(char)
if 'CJK UNIFIED IDEOGRAPH' in name:
# 获取汉字的unicode编码
code = int(name.split()[-1], 16)
# 查找汉字对应的部首
for r in radicals:
if chr(code) in r:
print(char, r[0])
break
```
在上面的代码中,我们首先使用`range()`函数生成通用规范汉字集合,然后加载部首数据文件`radicals.txt`。接下来,我们遍历每个汉字,获取其对应的unicode名称,然后从中提取出汉字的unicode编码。最后,我们在部首数据中查找对应汉字的部首,并输出汉字和对应的部首。
需要注意的是,部首数据文件`radicals.txt`中每行包含一个部首以及其包含的汉字列表,因此我们需要遍历每行,查找包含当前汉字的部首。在部首数据文件中,每个部首的第一个汉字即为该部首的代表字,因此我们只输出部首的第一个汉字作为代表字。
阅读全文