Skip to content

Instantly share code, notes, and snippets.

@core-code
Last active May 26, 2023 16:47
Show Gist options
  • Save core-code/eb5185f7d34118e7a795f86e1a5405f8 to your computer and use it in GitHub Desktop.
Save core-code/eb5185f7d34118e7a795f86e1a5405f8 to your computer and use it in GitHub Desktop.
sort a file exactly like BBEdit
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import sys
from functools import cmp_to_key
def cmp_items_inner(a, b):
if len(a) > 0 and len(b) == 0:
return 1
elif len(a) == 0 and len(b) > 0:
return -1
elif len(a) == 0 and len(b) == 0:
return 0
fca = a[0]
fcb = b[0]
posa = pos_dict[fca]
posb = pos_dict[fcb]
if posa > posb:
return 1
elif posa == posb:
return cmp_items_inner(a[1:], b[1:])
else:
return -1
def cmp_items(a, b):
a = a.replace("\n","")
b = b.replace("\n","")
res = cmp_items_inner(a.lower().translate(normalize), b.lower().translate(normalize))
if res == 0:
res = cmp_items_inner(a.lower(), b.lower())
if res == 0:
return cmp_items_inner(a, b)
else:
return res
else:
return res
cmp_items_py3 = cmp_to_key(cmp_items)
normal_map = {'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A',
'à': 'a', 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'ª': 'A',
'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E',
'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e',
'Í': 'I', 'Ì': 'I', 'Î': 'I', 'Ï': 'I',
'í': 'i', 'ì': 'i', 'î': 'i', 'ï': 'i',
'Ò': 'O', 'Ó': 'O', 'Ô': 'O', 'Õ': 'O', 'Ö': 'O', 'º': 'O', 'Ø': 'O',
'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o', 'ø': 'o',
'Ù': 'U', 'Ú': 'U', 'Û': 'U', 'Ü': 'U',
'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u',
'Ñ': 'N', 'ñ': 'n',
'Ç': 'C', 'ç': 'c',
'³': '3', '²': '2', '¹': '1'}
normalize = str.maketrans(normal_map)
sort_array = ['', '̔', '́', '̀', '̆', '̂', '̌', '̊', '̈', '̋', '̃', '̇', '̧', '̨', '̄', '̍', '͜', '゙', '゙', '゚', '̉', '̛', '̣', '̦', '͘', '͡', 'ְ', 'ֲ', 'ִ', 'ַ', 'ָ', 'َ', 'ُ', 'ِ', 'ّ', 'ْ', 'ٓ', 'ٔ', 'ٕ', 'ٞ', 'ំ', '่', '้', '์', ' ', '
', ' ', '_', '-', '‑', '‒', '–', '—', '〜', '・', ',', '、', ';', ':', '!', '‼', '¡', '?', '¿', '.', '…', '。', '·', "'", '‘', '’', '‚', '‹', '›', '"', '“', '”', '„', '«', '»', '(', ')', '[', ']', '{', '}', '⁅', '⁆', '《', '》', '§', '¶', '@', '*', '/', '\\', '&', '\&', '#', '%', '‰', '†', '‡', '•', '`', '´', '˜', '^', '¯', '¨', '˚', '˝', '¸', '゜', 'ˆ', 'ˇ', 'ˈ', '°', '©', '®', '℗', '←', '→', '↑', '⇡', '⇢', '∑', '+', '±', '÷', '×', '<', '=', '>', '¬', '|', '¦', '~', '−', '∙', '√', '∞', '∫', '≥', '⊎', '⋆', '⌘', '⍺', '⎢', '─', '╠', '▸', '◀', '◆', '◊', '◦', '☀', '☂', '☃', '★', '☆', '☕', '☭', '☯', '☺', '☻', '☾', '♡', '♥', '♫', '⚡', '⚫', '⚽', '⚾', '🇦', '🇨', '🇭', '🇳', '🇴', '🇸', '🇺', '🇼', '✈', '✉', '✓', '✨', '✶', '❄', '❤', '➜', '➶', '⤴', '⬆', '⬇', '⭐', '⭕', '⠀', '🌳', '🍝', '🎃', '🎨', '🎩', '🎭', '🎹', '🏀', '🏆', '🏈', '🐍', '🐶', '👀', '👇', '👑', '👩', '👹', '👽', '💔', '💛', '💝', '💣', '💪', '💰', '💵', '💸', '💼', '📊', '📕', '📚', '📱', '📷', '📻', '🔉', '🔍', '🔥', '🔧', '🔪', '🔴', '🤔', '🤣', '🧠', '🪐', '🫴', '😂', '😈', '😋', '😘', '😸', '🚀', '🚁', '🚗', '🚪', '🛠', '🟣', '々', 'ー', 'ー', '¤', '¢', '$', '£', '¥', '€', '0', '1', '½', '¼', '⑩', '2', '3', '¾', '4', '5', '6', '7', '8', '9', 'a', 'A', 'á', 'Á', 'à', 'À', 'ă', 'â', 'Â', 'å', 'Å', 'ä', 'Ä', 'ã', 'Ã', 'ą', 'ā', 'Ā', 'ạ', 'ậ', 'æ', 'Æ', 'ᴀ', 'ɒ', 'b', 'B', 'ꞵ', 'c', 'C', 'ć', 'č', 'Č', 'ç', 'Ç', 'd', 'D', 'Ď', 'đ', 'Đ', 'ð', 'Ð', 'ᴆ', 'e', 'E', 'é', 'É', 'è', 'ê', 'Ê', 'ễ', 'ể', 'ě', 'ë', 'ė', 'ę', 'ē', 'Ē', 'ệ', 'ᴇ', 'f', 'F', 'ƒ', 'g', 'G', 'ğ', 'ĝ', 'h', 'H', 'ʜ', 'ʻ', 'i', 'I', 'í', 'Í', 'ì', 'Ì', 'î', 'Î', 'ï', 'Ï', 'ĩ', 'İ', 'ī', 'ị', 'Ⅱ', 'Ⅲ', 'ı', 'ɪ', 'j', 'J', 'Ĵ', 'k', 'K', 'l', 'L', 'ł', 'Ł', 'm', 'M', 'n', 'N', 'ń', 'ň', 'ñ', 'Ñ', 'ɳ', 'o', 'O', 'ó', 'Ó', 'ò', 'Ò', 'ô', 'Ô', 'ố', 'ö', 'Ö', 'ő', 'õ', 'ø', 'Ø', 'ō', 'ỏ', 'ờ', 'ở', 'œ', 'Œ', 'p', 'P', 'q', 'Q', 'r', 'R', 'ř', 'Ř', 'ʀ', 's', 'S', 'ś', 'Ś', 'ŝ', 'š', 'Š', 'ş', 'Ş', 'ș', 'Ș', 'ß', 't', 'T', '™', 'u', 'U', 'ú', 'Ú', 'ù', 'Ù', 'ŭ', 'û', 'ů', 'ü', 'Ü', 'ű', 'ũ', 'ų', 'ū', 'ứ', 'ừ', 'ữ', 'v', 'V', 'ʌ', 'w', 'W', 'x', 'X', 'y', 'Y', 'ý', 'Ÿ', 'z', 'Z', 'Ź', 'ž', 'Ž', 'ż', 'Ż', 'ʖ', 'α', 'Α', 'ά', 'β', 'Β', 'γ', 'Γ', 'δ', 'Δ', 'ε', 'Ε', 'ἑ', 'έ', 'ζ', 'η', 'Η', 'ή', 'Θ', 'ι', 'Ι', 'ί', 'Ϊ', 'κ', 'Κ', 'λ', 'Λ', 'µ', 'Μ', 'ν', 'Ν', 'ο', 'Ο', 'ό', 'π', 'Π', 'ρ', 'Ρ', 'σ', 'Σ', 'τ', 'Τ', 'υ', 'Υ', 'ύ', 'φ', 'Φ', 'ω', 'Ω', 'а', 'А', 'б', 'Б', 'в', 'В', 'г', 'Г', 'д', 'Д', 'е', 'Е', 'ё', 'є', 'ж', 'Ж', 'з', 'З', 'и', 'И', 'і', 'І', 'ї', 'й', 'к', 'К', 'л', 'Л', 'м', 'М', 'н', 'Н', 'о', 'О', 'п', 'П', 'р', 'Р', 'с', 'С', 'т', 'Т', 'у', 'У', 'ф', 'Ф', 'х', 'Х', 'ц', 'Ц', 'ч', 'Ч', 'ш', 'Ш', 'щ', 'ъ', 'ы', 'Ы', 'ь', 'э', 'Э', 'ю', 'Ю', 'я', 'Я', 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י', 'כ', 'ל', 'מ', 'נ', 'ס', 'ע', 'פ', 'צ', 'ק', 'ר', 'ש', 'ת', 'ء', 'آ', 'أ', 'إ', 'ئ', 'ا', 'ب', 'پ', 'ة', 'ت', 'ث', 'ج', 'ح', 'خ', 'د', 'ذ', 'ر', 'ز', 'ڕ', 'س', 'ش', 'ص', 'ض', 'ط', 'ظ', 'ع', 'غ', 'ف', 'ق', 'ك', 'ک', 'گ', 'ل', 'م', 'ن', 'ه', 'ە', 'و', 'ى', 'ي', 'ی', 'क', 'ज', 'द', 'न', 'प', 'ब', 'र', 'ल', 'श', 'ह', 'ा', 'ि', 'ी', 'ो', '्', 'ಕ', 'ಡ', 'ನ', '್', 'ක', 'ත', 'ප', 'ය', 'ර', 'ව', 'හ', 'ළ', 'ු', 'ෙ', 'ก', 'ค', 'ง', 'จ', 'ฉ', 'ช', 'ฏ', 'ณ', 'ท', 'น', 'บ', 'ป', 'พ', 'ฟ', 'ม', 'ย', 'ร', 'ล', 'ว', 'ส', 'ห', 'อ', 'ะ', 'ั', 'า', 'ิ', 'ุ', 'ู', 'แ', 'ไ', 'ក', 'ខ', 'ច', 'ជ', 'ទ', 'ន', 'ប', 'ម', 'យ', 'រ', 'វ', 'ា', 'ុ', 'ួ', 'ែ', '្', 'ᬐ', 'ᐩ', 'ᄀ', '가', '간', '감', '갑', '갓', '강', '객', '거', '건', '검', '게', '경', '계', '고', '공', '과', '관', '교', '구', '국', '권', '규', '그', '글', '금', '급', '기', '김', 'ᄁ', '깜', '꼼', 'ᄂ', '나', '날', '낱', '내', '네', '넷', '년', '노', '놀', '농', '뉴', '늘', '능', '니', 'ᄃ', '다', '닥', '단', '달', '담', '닷', '대', '더', '데', '도', '동', '두', '드', '디', '딘', '딥', 'ᄄ', '떠', '똑', '뜨', '뜰', 'ᄅ', '라', '람', '랏', '랑', '래', '랩', '러', '런', '럴', '럽', '레', '력', '로', '론', '료', '루', '리', '림', '립', 'ᄆ', '마', '막', '말', '망', '맞', '매', '맵', '머', '먼', '멍', '메', '멤', '명', '모', '목', '몬', '몰', '무', '문', '물', '뭐', '뮤', '미', '민', '밀', 'ᄇ', '바', '박', '방', '배', '백', '밴', '뱅', '버', '벅', '번', '베', '벨', '벽', '보', '복', '볼', '부', '북', '분', '불', '뷰', '블', '비', 'ᄈ', '빵', 'ᄉ', '사', '산', '살', '상', '생', '서', '선', '설', '성', '세', '센', '션', '셰', '소', '속', '손', '송', '쇼', '수', '숙', '순', '숨', '숲', '스', '습', '승', '시', '식', '신', '실', '심', 'ᄊ', '씨', 'ᄋ', '아', '악', '안', '알', '앙', '앱', '야', '어', '업', '에', '엔', '연', '엽', '였', '영', '예', '오', '옥', '온', '올', '완', '외', '용', '우', '욱', '울', '워', '원', '웨', '웰', '웹', '윙', '유', '은', '음', '응', '의', '이', '인', '일', '읽', '임', '잇', '잉', 'ᄌ', '자', '장', '재', '잼', '전', '점', '정', '제', '젠', '조', '족', '종', '주', '준', '중', '즈', '증', '지', '진', 'ᄍ', '쭈', 'ᄎ', '차', '찬', '찾', '채', '책', '처', '천', '철', '체', '초', '촌', '총', '추', '출', '츠', '측', '치', '칙', 'ᄏ', '카', '칼', '캐', '캠', '커', '컴', '케', '켓', '코', '콘', '콩', '쾌', '쿠', '쿨', '큐', '크', '클', '키', '킹', 'ᄐ', '타', '탈', '택', '터', '털', '테', '텍', '텔', '템', '토', '톡', '톱', '통', '퇴', '투', '툰', '트', '특', '틀', '티', '팀', '팃', 'ᄑ', '파', '판', '팟', '팡', '페', '펫', '편', '포', '폰', '표', '푼', '프', '플', '피', '핑', 'ᄒ', '하', '학', '한', '항', '해', '핸', '행', '향', '험', '현', '호', '홈', '화', '활', '후', 'ᅡ', 'ᅢ', 'ᅣ', 'ᅥ', 'ᅦ', 'ᅧ', 'ᅨ', 'ᅩ', 'ᅪ', 'ᅫ', 'ᅬ', 'ᅭ', 'ᅮ', 'ᅯ', 'ᅰ', 'ᅱ', 'ᅲ', 'ᅳ', 'ᅴ', 'ᅵ', 'ᆨ', 'ᆫ', 'ᆯ', 'ᆷ', 'ᆸ', 'ᆺ', 'ᆻ', 'ᆼ', 'ᆽ', 'ᆾ', 'ᇀ', 'ぁ', 'あ', 'ィ', 'い', 'ゥ', 'う', 'ェ', 'え', 'ォ', 'お', 'か', 'が', 'き', 'ぎ', 'く', 'ぐ', 'け', 'げ', 'こ', 'ご', 'さ', 'ざ', 'し', 'じ', 'す', 'ず', 'せ', 'そ', 'ぞ', 'た', 'だ', 'ち', 'っ', 'つ', 'て', 'で', 'と', 'ど', 'な', 'に', 'ね', 'の', 'は', 'バ', 'パ', 'ひ', 'び', 'ピ', 'ふ', 'ぶ', 'ぷ', 'へ', 'べ', 'ペ', 'ほ', 'ぼ', 'ポ', 'ま', 'み', 'む', 'め', 'も', 'ャ', 'や', 'ゅ', 'ユ', 'ョ', 'よ', 'ら', 'り', 'る', 'れ', 'ろ', 'わ', 'を', 'ん', '一', '丁', '七', '万', '三', '上', '下', '不', '与', '专', '世', '丘', '业', '丛', '东', '丝', '严', '並', '个', '中', '丰', '串', '临', '丸', '义', '为', '主', '乁', '乂', '久', '么', '之', '乌', '乎', '乐', '乗', '乘', '九', '习', '书', '买', '乱', '乾', '亂', '了', '予', '争', '事', '二', '于', '云', '互', '五', '井', '亚', '亡', '交', '亦', '产', '亨', '亩', '享', '京', '亮', '人', '亿', '什', '仁', '仅', '今', '从', '仕', '他', '付', '仙', '代', '令', '以', '仪', '们', '仮', '仲', '件', '价', '任', '份', '企', '伊', '伏', '休', '众', '优', '会', '伝', '伟', '传', '伤', '伪', '伯', '估', '伴', '位', '低', '住', '佐', '佑', '体', '何', '余', '佛', '作', '你', '佩', '佳', '使', '來', '例', '侠', '価', '侣', '侦', '侯', '便', '係', '促', '俊', '保', '信', '修', '俱', '倉', '個', '倍', '倒', '候', '倚', '借', '値', '债', '值', '偕', '做', '停', '健', '偶', '傅', '備', '储', '傲', '傳', '像', '僵', '價', '儒', '償', '優', '儿', '元', '兄', '充', '兆', '先', '光', '克', '免', '兔', '党', '兜', '入', '全', '八', '公', '六', '兰', '共', '关', '兴', '兵', '其', '具', '典', '兹', '养', '兽', '内', '円', '册', '再', '冒', '最', '写', '军', '农', '冠', '冥', '冨', '冯', '冰', '决', '净', '准', '凌', '凛', '凝', '几', '凡', '凤', '処', '凭', '凰', '出', '击', '函', '刀', '分', '切', '刊', '划', '列', '刘', '刚', '创', '初', '删', '別', '利', '别', '到', '制', '刷', '券', '刺', '刻', '削', '前', '剑', '剛', '剧', '剪', '副', '割', '創', '劇', '劍', '力', '办', '加', '务', '动', '助', '劫', '劳', '势', '勃', '動', '務', '勞', '募', '包', '化', '北', '匙', '匠', '匹', '区', '医', '區', '十', '卂', '千', '升', '半', '华', '协', '卓', '協', '单', '卖', '南', '単', '博', '卜', '占', '卡', '卫', '卯', '印', '即', '卷', '卸', '厂', '厅', '历', '压', '厌', '原', '厦', '厨', '去', '参', '又', '叉', '及', '友', '双', '发', '取', '变', '叠', '口', '古', '句', '另', '只', '叫', '召', '叮', '可', '台', '史', '右', '叶', '号', '司', '叹', '吃', '合', '吉', '同', '名', '后', '向', '吕', '吗', '君', '吧', '听', '启', '吾', '呈', '告', '呗', '员', '周', '呱', '呼', '命', '和', '咔', '咕', '咖', '咚', '咨', '咪', '咲', '咸', '咻', '品', '哈', '哔', '員', '哥', '哩', '哪', '哲', '唐', '唤', '售', '唯', '唱', '啄', '商', '啊', '問', '啥', '啦', '喜', '單', '喴', '喵', '嗅', '嗒', '嗓', '嗨', '嗶', '嘀', '嘉', '器', '噩', '囊', '四', '回', '因', '团', '囤', '园', '図', '围', '固', '国', '图', '圆', '圈', '國', '園', '圖', '土', '圣', '圧', '在', '地', '圳', '场', '圾', '址', '坏', '坐', '块', '坚', '坛', '坞', '坤', '坪', '垃', '型', '垒', '垚', '垰', '城', '埃', '埋', '培', '基', '堂', '堆', '堡', '報', '場', '塑', '塔', '境', '墙', '增', '壁', '壊', '士', '声', '売', '壳', '壹', '处', '备', '変', '复', '夏', '夕', '外', '多', '夜', '够', '夢', '大', '天', '太', '夫', '央', '失', '头', '夸', '奇', '奔', '奎', '奏', '奕', '套', '奚', '奥', '女', '奶', '她', '好', '如', '妈', '妖', '妙', '姆', '姐', '姚', '威', '姬', '娘', '娱', '婚', '婪', '婷', '媒', '嫁', '嬰', '子', '孔', '孕', '字', '存', '孙', '孟', '季', '学', '學', '宁', '宅', '宇', '守', '安', '宋', '完', '宏', '官', '宙', '定', '宛', '宜', '宝', '实', '実', '宠', '审', '客', '室', '宫', '家', '容', '宽', '密', '富', '寒', '寸', '对', '寻', '导', '対', '封', '将', '射', '將', '專', '尊', '尋', '導', '小', '少', '尔', '尖', '尚', '尤', '就', '尸', '尺', '尼', '尽', '尾', '局', '居', '届', '屋', '屎', '屏', '展', '属', '山', '岑', '岗', '岛', '岡', '岩', '岸', '崛', '崩', '嶋', '巍', '川', '州', '工', '左', '巧', '巨', '己', '已', '巴', '币', '市', '布', '帅', '帆', '师', '希', '帐', '帕', '帖', '帝', '带', '帧', '師', '席', '帮', '帯', '帳', '常', '幂', '幅', '幌', '幕', '幫', '干', '平', '年', '并', '幸', '幹', '乡', '幻', '幽', '广', '広', '庄', '庆', '床', '序', '库', '应', '庖', '店', '废', '度', '庫', '庭', '庵', '康', '廖', '延', '建', '开', '异', '弄', '弈', '式', '引', '弘', '张', '弥', '弧', '張', '強', '弹', '强', '归', '当', '录', '形', '彤', '彦', '彩', '彭', '影', '役', '彼', '往', '征', '径', '待', '很', '律', '後', '徐', '得', '御', '復', '微', '德', '徽', '心', '必', '忆', '志', '忘', '応', '忧', '快', '念', '怀', '态', '思', '怡', '急', '怪', '恋', '恒', '恢', '恩', '息', '悟', '悠', '悦', '您', '悬', '悲', '情', '惊', '惠', '惯', '想', '意', '愛', '感', '愿', '慈', '態', '慕', '慢', '慧', '憑', '懂', '懒', '懶', '戏', '成', '我', '戒', '战', '戦', '截', '戰', '戲', '戴', '户', '戻', '房', '所', '扇', '手', '才', '扑', '扒', '打', '托', '扣', '执', '扩', '扫', '批', '找', '承', '技', '抄', '投', '抖', '折', '抠', '抢', '护', '报', '披', '抹', '抽', '拉', '拍', '招', '拟', '拡', '拦', '择', '括', '拼', '拾', '挂', '指', '按', '挑', '振', '捐', '损', '换', '捧', '捨', '据', '捲', '捷', '授', '掌', '排', '掘', '掛', '探', '接', '控', '推', '掼', '描', '提', '插', '換', '揭', '搜', '搞', '携', '摄', '摘', '摩', '摸', '摹', '摺', '播', '撮', '操', '擎', '支', '收', '改', '攻', '放', '政', '故', '效', '敌', '敏', '救', '教', '敬', '数', '整', '數', '文', '斉', '斑', '斗', '料', '斧', '斩', '斯', '新', '方', '旅', '旋', '旗', '无', '日', '旧', '早', '时', '旺', '昊', '昌', '明', '易', '昕', '星', '映', '春', '昨', '昭', '是', '显', '時', '晋', '晓', '晗', '晚', '晨', '普', '景', '智', '暗', '暦', '暫', '暮', '暴', '曰', '曲', '更', '書', '替', '會', '月', '有', '朋', '服', '朗', '望', '朝', '期', '木', '未', '末', '本', '札', '术', '朵', '机', '杀', '杂', '权', '李', '杏', '材', '杜', '条', '来', '杨', '极', '杭', '杯', '杰', '東', '松', '板', '构', '析', '林', '果', '枝', '枫', '架', '柄', '柏', '柔', '柚', '柜', '柠', '查', '柯', '柳', '柴', '栃', '标', '栋', '栏', '树', '校', '株', '样', '核', '根', '格', '桂', '桃', '案', '桌', '桐', '桔', '桜', '桢', '档', '桥', '桨', '梁', '梅', '梦', '梭', '梯', '梱', '检', '棉', '棋', '森', '棵', '植', '椒', '検', '楓', '楚', '業', '極', '楼', '楽', '概', '榕', '榜', '榫', '構', '槌', '樂', '樊', '模', '横', '樹', '橋', '橙', '機', '橱', '檔', '檬', '次', '欢', '欣', '欧', '欺', '款', '歌', '歡', '止', '正', '步', '武', '歧', '歯', '死', '殇', '残', '殘', '段', '殷', '毁', '毅', '母', '毎', '每', '毒', '比', '毗', '毛', '氏', '民', '气', '気', '氢', '氣', '氧', '氪', '水', '永', '汀', '求', '汇', '汉', '汐', '江', '池', '汤', '汽', '沃', '沈', '沙', '沟', '沫', '河', '油', '況', '泉', '法', '泡', '波', '注', '泰', '泽', '洁', '洋', '洛', '洞', '津', '洪', '洲', '活', '洽', '派', '流', '浅', '测', '济', '浏', '浙', '浣', '浦', '浩', '浪', '浮', '海', '涂', '消', '涛', '润', '涵', '涼', '淀', '淆', '淑', '淘', '淡', '淮', '深', '混', '添', '清', '渊', '渐', '減', '渣', '温', '測', '港', '游', '湖', '湘', '湾', '満', '源', '準', '溫', '滑', '滔', '满', '滤', '滚', '滴', '漆', '漏', '演', '漠', '漢', '漩', '漫', '漬', '漾', '潜', '潟', '潮', '澜', '澳', '激', '濟', '濠', '瀏', '灣', '火', '灯', '灰', '灵', '災', '炉', '点', '為', '烏', '烛', '烟', '烧', '热', '無', '焰', '煎', '煙', '照', '熊', '熔', '熙', '熟', '熹', '燃', '燈', '燒', '燕', '爪', '爱', '爸', '爽', '爾', '片', '版', '牌', '牙', '牛', '牢', '物', '特', '犀', '状', '狂', '狐', '狗', '独', '狮', '狱', '狸', '狼', '猎', '猛', '猪', '猫', '猩', '猬', '献', '猴', '猿', '獄', '玄', '率', '玉', '王', '玛', '玩', '环', '现', '珊', '珍', '珑', '班', '琉', '現', '球', '理', '琦', '琳', '琴', '瑚', '瑞', '瑶', '環', '瓜', '瓣', '瓦', '甘', '甜', '生', '用', '田', '由', '甲', '申', '电', '町', '画', '畅', '界', '留', '略', '番', '畫', '當', '疆', '疗', '疯', '病', '痕', '瘋', '発', '登', '發', '白', '百', '的', '皆', '皇', '皮', '盈', '益', '盐', '监', '盒', '盖', '盘', '盛', '盜', '盟', '監', '盤', '盪', '目', '盯', '盲', '直', '相', '盾', '省', '看', '真', '眠', '眼', '睛', '睡', '睿', '瞎', '瞩', '瞬', '矢', '知', '短', '石', '码', '研', '破', '础', '硕', '硬', '碎', '碑', '碗', '碟', '碧', '磁', '確', '碼', '磊', '磨', '示', '礼', '社', '视', '神', '票', '祭', '禄', '視', '禁', '禅', '福', '禧', '禮', '离', '秀', '私', '秋', '种', '科', '秒', '秘', '租', '秦', '称', '移', '稀', '程', '税', '稚', '稳', '稻', '稿', '究', '空', '穿', '窓', '窗', '窝', '窥', '立', '站', '竞', '童', '端', '竹', '笋', '笑', '笔', '符', '第', '笺', '笼', '筆', '等', '答', '策', '签', '简', '節', '箋', '算', '管', '箭', '箱', '篇', '篮', '簡', '簧', '簿', '籌', '籍', '米', '娄', '粉', '粤', '粵', '粹', '精', '糊', '糕', '糖', '糯', '糸', '系', '紀', '約', '紅', '紐', '紙', '級', '素', '索', '紫', '組', '結', '統', '絵', '絶', '經', '続', '綠', '網', '緋', '総', '線', '編', '練', '縦', '縮', '繁', '红', '约', '级', '纪', '纬', '纯', '纳', '纵', '纷', '纸', '纹', '纽', '线', '练', '组', '绅', '细', '织', '终', '经', '结', '绘', '给', '绚', '络', '绝', '统', '绪', '续', '维', '绽', '绿', '缀', '编', '缘', '缠', '缤', '缩', '缺', '网', '罗', '置', '羊', '美', '羚', '群', '義', '羽', '羿', '翁', '習', '翔', '翰', '翼', '翻', '耀', '老', '考', '者', '而', '耍', '耗', '耳', '聆', '聊', '职', '联', '聖', '聘', '聚', '聞', '聰', '聴', '職', '聽', '肃', '肇', '肉', '肌', '股', '肥', '肯', '育', '背', '胜', '胞', '胡', '脉', '胶', '能', '脑', '脚', '脱', '腦', '腾', '臣', '自', '至', '致', '臺', '臻', '與', '興', '舍', '舟', '航', '般', '良', '色', '艺', '艾', '节', '芋', '芒', '芝', '芥', '芦', '芯', '花', '芳', '芽', '苏', '苑', '苔', '苗', '苦', '英', '苹', '范', '茄', '茅', '茗', '茶', '草', '荒', '荔', '荟', '荡', '荣', '药', '荷', '荻', '莉', '莊', '莓', '莞', '莫', '菇', '菜', '華', '萌', '萝', '萤', '营', '萧', '萨', '著', '落', '葉', '董', '葬', '葱', '葵', '蒋', '蒙', '蒜', '蒲', '蓄', '蓉', '蓝', '蔚', '蔵', '蔻', '蔽', '蕉', '蕊', '薄', '薇', '薈', '薬', '藍', '藏', '藓', '藤', '蘋', '蘑', '虎', '彪', '處', '虚', '號', '虫', '虹', '虾', '蚁', '蚂', '蚪', '蛇', '蛋', '蛙', '蛛', '蛮', '蜂', '蜓', '蜗', '蜘', '蜜', '蜻', '蝌', '蝦', '蝶', '蝸', '融', '螺', '蟲', '行', '衍', '術', '街', '衛', '衣', '补', '表', '袁', '袋', '袖', '装', '補', '裝', '製', '西', '要', '見', '規', '覺', '覽', '见', '观', '规', '览', '觉', '角', '解', '言', '訂', '計', '訊', '託', '記', '設', '訳', '証', '詐', '詞', '試', '詩', '話', '詳', '誠', '誌', '認', '誓', '語', '說', '説', '読', '課', '調', '談', '請', '論', '謎', '謡', '證', '識', '譜', '警', '譯', '議', '讀', '计', '订', '认', '让', '训', '议', '讯', '记', '讲', '许', '论', '设', '访', '证', '评', '识', '诊', '词', '译', '试', '诗', '诚', '话', '诞', '询', '语', '说', '请', '诺', '读', '课', '谁', '调', '谓', '谕', '谢', '谱', '谷', '豆', '豐', '豚', '象', '豪', '豹', '貅', '貓', '貔', '財', '貨', '買', '貸', '貼', '賀', '資', '賞', '賣', '購', '賽', '贏', '贝', '财', '责', '贤', '账', '货', '贪', '购', '贴', '贵', '费', '赁', '资', '赚', '赛', '赞', '赢', '赤', '赫', '起', '超', '越', '趋', '趣', '足', '跃', '跑', '践', '跟', '跡', '跨', '路', '跳', '踢', '踪', '蹊', '蹤', '蹲', '身', '躺', '車', '軌', '軟', '較', '載', '輕', '輯', '輸', '轉', '车', '轩', '转', '轮', '软', '轴', '轻', '载', '辅', '辉', '辐', '辑', '输', '辕', '辞', '辟', '辭', '辰', '農', '边', '込', '达', '迁', '迅', '过', '迈', '迎', '运', '返', '这', '进', '远', '连', '迪', '迷', '迹', '追', '退', '送', '适', '逆', '选', '透', '逐', '递', '途', '通', '逛', '速', '連', '週', '進', '遇', '遊', '運', '過', '道', '達', '遠', '遥', '適', '選', '避', '邀', '那', '邦', '邮', '邱', '邸', '邻', '郎', '郑', '郢', '部', '郭', '郵', '郷', '都', '鄉', '鄭', '配', '酱', '酷', '醋', '醒', '醫', '采', '释', '里', '重', '野', '量', '金', '鈴', '鉅', '銀', '鋒', '錄', '録', '鏡', '鐵', '鑑', '鑣', '鑫', '钉', '钊', '钛', '钟', '钢', '钥', '钱', '钺', '铁', '铠', '铭', '铲', '银', '链', '销', '锁', '锋', '锐', '锤', '锦', '键', '镜', '長', '长', '閉', '開', '間', '関', '閱', '闘', '门', '闪', '闭', '问', '闲', '间', '闹', '闺', '闻', '阁', '阅', '队', '防', '阳', '阴', '阵', '阶', '阿', '附', '际', '陆', '陈', '陌', '限', '院', '除', '险', '陸', '陽', '隆', '随', '隐', '障', '隠', '隨', '难', '雀', '雁', '雄', '雅', '集', '雕', '雙', '雜', '離', '雨', '雪', '雲', '零', '雷', '電', '霊', '霓', '霸', '靈', '青', '非', '面', '革', '靴', '鞦', '韆', '韦', '韩', '韬', '韭', '音', '章', '順', '頌', '預', '頡', '頭', '頻', '題', '類', '页', '顶', '项', '顺', '顽', '顾', '顿', '预', '领', '频', '颖', '题', '颜', '風', '风', '飙', '飛', '飞', '食', '飯', '館', '饗', '饭', '饺', '饼', '饿', '馆', '首', '香', '馬', '験', '騰', '驗', '马', '驴', '驾', '骆', '验', '骑', '髏', '髑', '體', '高', '髙', '鬆', '鬥', '魂', '魅', '魔', '鱼', '鲁', '鲜', '鲨', '鲲', '鲸', '鳳', '鵝', '鶴', '鸟', '鸡', '鸥', '鸦', '鸭', '鸯', '鸳', '鸽', '鸿', '鹅', '鹊', '鹏', '鹰', '鹿', '麋', '麒', '麟', '麥', '麦', '麻', '黃', '黄', '黑', '墨', '默', '點', '鼓', '鼠', '齐', '龍', '龙', '龟', '', '', '', '�']
pos_dict = {}
counter = 0
for char in sort_array:
counter = counter + 1
pos_dict[char] = counter
with open(sys.argv[1], 'r') as r:
for line in sorted(r, key = cmp_items_py3):
print(line, end='')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment