Dnomd343
2 years ago
1 changed files with 62 additions and 0 deletions
@ -0,0 +1,62 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
import os |
||||
|
import sys |
||||
|
import json |
||||
|
|
||||
|
defaultPath = os.path.join( |
||||
|
os.path.dirname(os.path.realpath(__file__)), '../../release/' |
||||
|
) |
||||
|
|
||||
|
|
||||
|
def load_content(filename: str) -> list: # load json content |
||||
|
if not filename.endswith('.json'): |
||||
|
filename += '.json' # add file suffix |
||||
|
raw = json.loads(open( |
||||
|
os.path.join(defaultPath, filename) |
||||
|
).read()) |
||||
|
combine = [] |
||||
|
for (title, content) in raw.items(): |
||||
|
combine.append(title) |
||||
|
combine += content |
||||
|
return combine |
||||
|
|
||||
|
|
||||
|
def character_set(content: list) -> list: # split into character set |
||||
|
characters = set() |
||||
|
for row in content: |
||||
|
characters.update({x for x in row}) |
||||
|
return sorted(characters) |
||||
|
|
||||
|
|
||||
|
def to_unicode(character: str) -> int: # get unicode number |
||||
|
character = character[0] # only first character |
||||
|
unicode = 0 |
||||
|
for i in range(0, 4): |
||||
|
unicode += character.encode('utf-32le')[i] * 256 ** i |
||||
|
return unicode |
||||
|
|
||||
|
|
||||
|
def show_characters(characters: list) -> None: # show character stat |
||||
|
chinese = [] |
||||
|
punctuation = [] |
||||
|
for c in characters: |
||||
|
if int('4E00', 16) < to_unicode(c) < int('9FA5', 16): # chinese unicode range |
||||
|
chinese.append(c) |
||||
|
else: |
||||
|
punctuation.append(c) |
||||
|
print('\n\033[0;32mPunctuations\033[0;39m\033[0;35m(%d)\033[0;39m\n%s\n' % ( |
||||
|
len(punctuation), ' '.join(['`\033[0;33m%s\033[0;39m`' % p for p in punctuation]) |
||||
|
)) |
||||
|
print('\033[0;32mChinese\033[0;39m\033[0;35m(%d)\033[0;39m' % len(chinese)) |
||||
|
for i in range(0, len(chinese)): |
||||
|
print('\033[0;36m%s\033[0;39m%s' % ( |
||||
|
chinese[i], '\n' if i % 64 == 63 else '' |
||||
|
), end = '') |
||||
|
print('\n') |
||||
|
|
||||
|
|
||||
|
show_characters( |
||||
|
character_set(load_content(sys.argv[1])) |
||||
|
) |
Loading…
Reference in new issue