|
#!/usr/bin/python
|
# -*- coding: UTF-8 -*-
|
|
import sys
|
|
'''
|
把输入文本,按照一二三级字分别统计。
|
|
'''
|
_char_array_1 = set()
|
_char_array_1 = set()
|
_char_array_1 = set()
|
|
char_file_1 = 'universal_char_list_1_3500.txt'
|
char_file_2 = 'universal_char_list_2_3000.txt'
|
char_file_3 = 'universal_char_list_3_1605.txt'
|
|
_file_qianziwen = sys.argv[1]
|
_file_qianziwen_result = sys.argv[2]
|
|
qianziwen_split_1 = []
|
qianziwen_split_2= []
|
qianziwen_split_3= []
|
qianziwen_split_None= []
|
|
|
|
with open(char_file_1, 'r', encoding='utf-8-sig') as f:
|
for word in f.read().splitlines():
|
_char_array_1 = word
|
print(len(_char_array_1))
|
with open(char_file_2, 'r', encoding='utf-8-sig') as f:
|
for word in f.read().splitlines():
|
_char_array_2 = word
|
print(len(_char_array_2))
|
with open(char_file_3, 'r', encoding='utf-8-sig') as f:
|
for word in f.read().splitlines():
|
_char_array_3 = word
|
print(len(_char_array_3))
|
|
with open(_file_qianziwen, 'r', encoding='utf-8-sig') as f:
|
for word in f.read().splitlines():
|
for char in word:
|
not_in_list_1_2_3 = True
|
try:
|
if _char_array_1.index(char) > -1:
|
qianziwen_split_1.append(char)
|
not_in_list_1_2_3 = False
|
except ValueError as err:
|
print()
|
try:
|
if _char_array_2.index(char) > -1:
|
qianziwen_split_2.append(char)
|
not_in_list_1_2_3 = False
|
except ValueError as err:
|
print()
|
try:
|
if _char_array_3.index(char) > -1:
|
qianziwen_split_3.append(char)
|
not_in_list_1_2_3 = False
|
except ValueError as err:
|
print()
|
if not_in_list_1_2_3 :
|
qianziwen_split_None.append(char)
|
|
|
print(len(qianziwen_split_1))
|
print(len(qianziwen_split_2))
|
print(len(qianziwen_split_3))
|
print(qianziwen_split_None)
|
with open(_file_qianziwen_result, 'w', encoding='utf-8') as result_f:
|
result_f.write('一级字表:'+str(len(qianziwen_split_1))+'\n')
|
result_f.write(str(qianziwen_split_1))
|
result_f.write('\n二级字表:'+str(len(qianziwen_split_2))+'\n')
|
result_f.write(str(qianziwen_split_2))
|
result_f.write('\nl三级字表:'+str(len(qianziwen_split_3))+'\n')
|
result_f.write(str(qianziwen_split_3))
|
result_f.write('\n不在一二三级字表内:'+str(len(qianziwen_split_None))+'\n')
|
result_f.write(str(qianziwen_split_None))
|