コード例 #1
0
def ordinary_words_bs():
    word_forms_bases = read_src_bs('src_dict/БС 02.03.21.txt')
    bs_word_forms = [str(x.title_word_form) for x in word_forms_bases]

    exclusion_list = []

    # Многокорневые слова БС
    multi_root_bs_forms = get_string_list_from_file(
        'src_dict/Многокорневые слова БС.txt')
    exclusion_list += multi_root_bs_forms

    # Омонимы БС
    homonyms_bs = get_string_list_from_file('src_dict/Омонимы БС.txt')
    exclusion_list += homonyms_bs

    # Повторы ост. совпадает с БС
    remaining_repetitions = get_string_list_from_file(
        'src_dict/Повторы ост. совпадает с БС.txt')
    remaining_repetitions = [str(get_bs_title_word_form(x))
                             for x in remaining_repetitions]
    exclusion_list += remaining_repetitions

    # Обычные слова БС
    ordinary_words_bs_list = []

    for bs_str_form in bs_word_forms:
        if bs_str_form not in exclusion_list:
            ordinary_words_bs_list.append(bs_str_form)
            # print(bs_str_form)

    save_list_to_file(ordinary_words_bs_list, 'out/Обычные слова БС.txt')
コード例 #2
0
def fix_adjusted_participles():
    socket_group_28_01 = list(get_string_list_from_file(
        'src_dict/БГ 28.01.21 изм.txt', encoding='cp1251'))
    socket_group_23_01 = list(get_string_list_from_file(
        'src_dict/БГ 23.01.21.txt', encoding='cp1251'))

    adjusted_participles_list = []

    for count, socket_string in enumerate(socket_group_28_01[:]):
        if socket_string.startswith('*'):
            for replace_string in socket_group_23_01[:]:
                if replace_string.startswith('*'):
                    if replace_string.split()[0].endswith(
                            socket_string.split()[1]
                    ):
                        print(replace_string)
                        socket_group_28_01[count] = replace_string
                        adjusted_participles_list.append(replace_string)

    save_list_to_file(sorted(adjusted_participles_list,
                             key=lambda x: x.replace('*', '').lower()),
                      'out/Адъектированные причастия.txt'
                      )
    save_list_to_file(socket_group_28_01, 'out/БГ 28.01.21.txt',
                      encoding='cp1251')
コード例 #3
0
def add_g38():
    g38_list = get_string_list_from_file('src_dict/Г38. -Ь(СЯ).txt')
    g38_add_list = get_string_list_from_file('src_dict/Г38 ещё ДОБАВИТЬ.txt')

    out_list = list(g38_list) + list(g38_add_list)
    out_list = sorted(out_list, key=lambda x: x.replace('*', '').lower())
    save_list_to_file(out_list, 'out/-Ь(СЯ).txt')
コード例 #4
0
def compare_homonyms_spec_note():
    homonyms_bg = get_string_list_from_file('src_dict/Омонимы БГ.txt')

    homonyms_bg_str_form = []

    for homonyms in homonyms_bg:
        socket_form = get_socket_word_form(homonyms)

        spec_note = socket_form.spec_note.replace('< ', '')
        spec_note_socket_form = get_socket_word_form(spec_note)
        spec_note = ' '.join(
            filter(None, [
                spec_note_socket_form.invisible,
                spec_note_socket_form.name,
                spec_note_socket_form.root_index,
                spec_note_socket_form.idf,
                ' '.join(spec_note_socket_form.info),
                spec_note_socket_form.note,
            ]))

        string_form = ' '.join(
            filter(None, [
                socket_form.name,
                socket_form.idf,
                ' '.join(socket_form.info),
                spec_note,
            ]))
        homonyms_bg_str_form.append(string_form)

    homonyms_spec_note = get_string_list_from_file(
        'src_dict/О-мы БС спец. прим. не совпадают с Повторами.txt')

    homonyms_spec_note_relevant = []
    homonyms_spec_note_not_relevant = []

    for homonym in homonyms_spec_note:
        title_form = get_bs_title_word_form(homonym)
        print(title_form.name, title_form.note)
        string_form = ' '.join(
            filter(None, [
                title_form.name,
                title_form.idf,
                ' '.join(title_form.info),
                title_form.note.replace('.* < ', ''),
            ]))
        if string_form in homonyms_bg_str_form:
            homonyms_spec_note_relevant.append(homonym)
        else:
            homonyms_spec_note_not_relevant.append(homonym)

    save_list_to_file(homonyms_spec_note_relevant,
                      'out/О-мы БС спец. прим. совпадают с О-мами БГ.txt')
    save_list_to_file(homonyms_spec_note_not_relevant,
                      'out/О-мы БС спец. прим. не совпадают с О-мами БГ.txt')
コード例 #5
0
def get_remaining_homonyms():
    remaining_homonyms = list(
        get_string_list_from_file(
            'src_dict/О-мы БС спец. прим. не совпадают с Повторами.txt'))
    remaining_homonyms += list(
        get_string_list_from_file(
            'src_dict/О-мы БС не совпадают с Повторами.txt'))
    save_list_to_file(
        sorted(remaining_homonyms,
               key=lambda x: x.replace('*', '').strip().lower()),
        'out/О-мы БС ост.txt')
コード例 #6
0
def check_verbs():
    verbs = sorted(
        list(
            get_string_list_from_file(
                'src_dict/Г64. -АТЬ(СЯ), -ЕТЬ(СЯ) II спр. сов. в.txt')) + list(
                    get_string_list_from_file(
                        'src_dict/Г65. -ИТЬ(СЯ) II спр. сов. в.txt')))

    word_forms_bases = list(read_src_bs('src_dict/БС 27.03.21.txt'))

    nouns = []
    g64_g65_a = []
    g64_g65_b = []

    for verb in verbs:
        for group in word_forms_bases:
            if verb == str(group.title_word_form):
                print(verb)
                gnb2e = None
                for word_form in group.word_forms:
                    if word_form.idf == '.ГНБ2е':
                        gnb2e = word_form
                        break

                if gnb2e:
                    if gnb2e.name.endswith(ENDINGS):
                        if gnb2e.name.endswith('ся'):
                            prefix = gnb2e.name[:-5]
                        else:
                            prefix = gnb2e.name[:-3]

                        if prefix[-1] in LETTERS:
                            g64_g65_b.append(verb)
                        else:
                            g64_g65_a.append(verb)

                    else:  # окончание какое-то другое
                        nouns.append(verb)

                else:  # если словоформа .ГНБ2е отсутствует
                    nouns.append(verb)

                break

    save_list_to_file(verbs, 'out/Г64&Г65.txt')
    save_list_to_file(nouns, 'out/ГНБ2е отс. или оконч. другое.txt')
    save_list_to_file(g64_g65_a, 'out/Г64&Г65А.txt')
    save_list_to_file(g64_g65_b, 'out/Г64&Г65Б.txt')
コード例 #7
0
def get_singles_bases():
    src_group_word_form_list = get_string_list_from_file(
        'src_dict/Добавить одиночки в БС.txt')
    for src_title_word_form in src_group_word_form_list:
        title_word_form = TitleWordForm(src_title_word_form, '', [], '')
        group_word_form = GroupWordForm(title_word_form, [])
        yield group_word_form
コード例 #8
0
def add_groups_to_bs():
    """
    2 (продолжение).
    Соблюдая алфавитный порядок ЗС в док-те БС 15.01.21.txt,
    добавить в док-т БС 15.01.21.txt
    одиночки из док-та Добавить одиночки в БС 2.txt .

    4. Соблюдая алфавитный порядок ЗС в БС, добавить в БС группы
    из док-тов Добавить группы в БС. Сущ-ные изм.txt
    и Добавить группы в БС. Сущ-ные 2.txt .
    """
    word_forms_bases = list(read_src_bs('src_dict/БС 15.01.21.txt'))

    loners = get_string_list_from_file(
        'src_dict/Добавить одиночки в БС 2.txt')
    loners_list = []
    for loner in loners:
        title_word_form = TitleWordForm(loner, '', [], '')
        group_word_form = GroupWordForm(title_word_form, [])
        loners_list.append(group_word_form)

    modified_nouns = list(read_src_bs(
        'src_dict/Добавить группы в БС. Сущ-ные изм.txt'))
    nouns_2 = list(read_src_bs('src_dict/Добавить группы в БС. Сущ-ные 2.txt',
                               encoding='utf-8'))

    word_forms_bases += loners_list
    word_forms_bases += modified_nouns
    word_forms_bases += nouns_2

    save_bs_dicts_to_txt(sorted(word_forms_bases), 'out/БС 15.01.21.txt')
コード例 #9
0
def get_not_included_in_the_lists():
    word_forms_bases = read_src_bs('src_dict/БС 20.03.21.txt')
    file_stems = {
        x.stem: list(get_string_list_from_file(f'{x}'))
        for x in Path('src_dict/lst').glob('*')
    }

    for group in word_forms_bases:
        title_form = group.title_word_form
        info_list = title_form.info
        if info_list:
            for idf in info_list:
                if idf in IDFS:
                    out_stem = ', '.join(IDFS[idf])
                    flag = True
                    added_title_form = []
                    for f_stem in IDFS[idf]:
                        if str(title_form) in file_stems[f_stem]:
                            flag = False
                    if (
                            flag
                            and str(title_form) not in added_title_form
                    ):
                        print(title_form)
                        add_string_to_file(str(title_form),
                                           f'out/lst/{out_stem} ещё.txt')

                        added_title_form.append(str(title_form))
コード例 #10
0
def remove_from_bg():
    """
    9. Для всех слов из док-та "Удалить из БГ.txt" сделать следующее:
    9.1. найти такое слово в док-те "БГ 27.01.21.txt" и,
    9.2.1. если оно является ЗС ПОДгруппы - вставить его
    в отдельно созданный док-т "ЗС подгруппы.txt"
    9.2.2. если оно НЕ является ЗС ПОДгруппы - удалить его
    из док-та "БГ 27.01.21.txt"
    """
    remove_bg_list = get_string_list_from_file('src_dict/Удалить из БГ.txt')
    socket_group_word_form_list = list(
        read_src_socket_bs('src_dict/БГ 27.01.21.txt'))

    title_form_list = []
    deleted_list = []

    for remove_bg in sorted(remove_bg_list):
        for group in socket_group_word_form_list:
            for sub_group in group.sub_groups:
                title_word_form = sub_group.title_word_form
                for word_form in sub_group.socket_word_forms[:]:
                    if remove_bg == word_form.name:
                        print(word_form)
                        if remove_bg == title_word_form.name:
                            title_form_list.append(str(word_form))
                        else:
                            deleted_list.append(str(word_form))
                            sub_group.socket_word_forms.remove(word_form)

    save_list_to_file(sorted(title_form_list, key=str.lower),
                      'out/ЗС подгруппы.txt')
    save_list_to_file(sorted(deleted_list, key=str.lower),
                      'out/удалённые из БГ.txt')
    save_socket_bs_dicts_to_txt(socket_group_word_form_list,
                                'out/БГ 28.01.21.txt')
コード例 #11
0
def find_extra_lines(in_file, in_dir):
    files_path = [x for x in Path(in_dir).glob('*')]
    in_dir_lines = [x for x in get_file_lines(files_path)]
    in_lines = list(get_string_list_from_file(in_file))
    extra_lines = [x for x in in_dir_lines if x not in in_lines]
    if extra_lines:
        save_list_to_file(extra_lines, f'out/Лишние {Path(in_file).stem}.txt')
コード例 #12
0
def get_capital_letter_bs():
    capital_letter_bs = list(
        get_string_list_from_file('out/Большая буква. БС.txt'))

    word_forms_bases = read_src_bs('src_dict/БС 13.03.21.txt')
    title_forms = [str(x.title_word_form) for x in word_forms_bases]

    capital_letter_bs_homonyms = []

    for capital_word in capital_letter_bs:
        capital_word_name = get_bs_title_word_form(capital_word).name
        title_form_list = []
        for title_form in title_forms:
            form_name = get_bs_title_word_form(title_form).name.replace(
                '*', '')
            if form_name == capital_word_name.lower():
                print(title_form)
                title_form_list.append(title_form)

        if title_form_list:
            capital_letter_bs_homonyms.append(capital_word)
            capital_letter_bs_homonyms += title_form_list
            capital_letter_bs_homonyms.append('')

    save_list_to_file(capital_letter_bs_homonyms[:-1],
                      'out/Большая буква. БС. Омонимы.txt')
コード例 #13
0
def get_capital_letter_bg():
    capital_letter_bg = list(
        get_string_list_from_file('out/Большая буква. БГ.txt'))
    socket_group_list = list(read_src_socket_bs('src_dict/БГ 13.03.21.txt'))

    capital_letter_bg_homonyms = []

    for capital_word in capital_letter_bg:
        capital_word_name = get_socket_word_form(capital_word).name
        word_form_list = []
        for socket_group in socket_group_list:
            for sub_group in socket_group.sub_groups:
                for word_form in sub_group.socket_word_forms:
                    if not word_form.invisible:
                        form_name = word_form.name.replace('*', '')
                        if form_name == capital_word_name.lower():
                            print(word_form)
                            word_form_list.append(str(word_form))

        if word_form_list:
            capital_letter_bg_homonyms.append(capital_word)
            capital_letter_bg_homonyms += word_form_list
            capital_letter_bg_homonyms.append('')

    save_list_to_file(capital_letter_bg_homonyms[:-1],
                      'out/Большая буква. БГ. Омонимы.txt')
コード例 #14
0
def get_two_in_one():
    remaining_repetitions = get_string_list_from_file('src_dict/Повторы ост.txt')
    word_forms_bases = read_src_bs('src_dict/БС 27.02.21.txt')
    bs_word_forms = [x.title_word_form for x in word_forms_bases]

    bs_word_names = [
        ' '.join(filter(None, [
            x.name,
            x.idf,
            ' '.join(x.info),
            x.note
        ]))
        for x in bs_word_forms
    ]

    relevant = []
    not_relevant = []

    for repeat in remaining_repetitions:
        if repeat in bs_word_names:
            relevant.append(repeat)
        else:
            not_relevant.append(repeat)

    save_list_to_file(relevant, 'out/Повторы ост. совпадает с БС.txt')
    save_list_to_file(not_relevant, 'out/Повторы ост. не совпадает с БС.txt')
コード例 #15
0
def get_bg_abbreviation_homonyms():
    abbreviation_bg = get_string_list_from_file('out/Аббревиатура. БГ.txt')
    abbreviation_bg = sorted(list(set(abbreviation_bg)))

    socket_group_list = list(read_src_socket_bs('src_dict/БГ 13.03.21.txt'))

    bg_abbreviation_homonyms = []

    for abbreviation in abbreviation_bg:
        abbreviation_name = get_socket_word_form(abbreviation).name
        word_form_list = []
        for socket_group in socket_group_list:
            for sub_group in socket_group.sub_groups:
                for word_form in sub_group.socket_word_forms:
                    if not word_form.invisible:
                        form_name = word_form.name.replace('*', '')
                        if form_name == abbreviation_name.lower():
                            print(form_name)
                            word_form_list.append(str(word_form))
        if word_form_list:
            bg_abbreviation_homonyms.append(abbreviation)
            bg_abbreviation_homonyms += word_form_list
            bg_abbreviation_homonyms.append('')

    save_list_to_file(bg_abbreviation_homonyms[:-1],
                      'out/Аббревиатура. БГ. Омонимы.txt')
コード例 #16
0
def get_bs_abbreviation_homonyms():
    abbreviation_bs = get_string_list_from_file('out/Аббревиатура. БС.txt')

    word_forms_bases = read_src_bs('src_dict/БС 13.03.21.txt')
    title_forms = [str(x.title_word_form) for x in word_forms_bases]

    bs_abbreviation_homonyms = []

    for abbreviation in abbreviation_bs:
        abbreviation_name = get_bs_title_word_form(abbreviation).name
        title_form_list = []
        for title_form in title_forms:
            form_name = get_bs_title_word_form(title_form).name.replace(
                '*', '')
            if form_name == abbreviation_name.lower():
                print(title_form)
                title_form_list.append(title_form)

        if title_form_list:
            bs_abbreviation_homonyms.append(abbreviation)
            bs_abbreviation_homonyms += title_form_list
            bs_abbreviation_homonyms.append('')

    save_list_to_file(bs_abbreviation_homonyms[:-1],
                      'out/Аббревиатура. БС. Омонимы.txt')
コード例 #17
0
def change_bs_abbreviation():
    abbreviation_bs = list(
        get_string_list_from_file('src_dict/Аббревиатура. БС.txt'))
    capital_letter_bs = list(
        get_string_list_from_file('src_dict/Большая буква. БС.txt'))

    word_forms_bases = list(read_src_bs('src_dict/БС 15.03.21.txt'))

    for group in word_forms_bases:
        title_form = group.title_word_form
        if (str(title_form) in abbreviation_bs
                or str(title_form) in capital_letter_bs):
            title_form.name = title_form.name.lower()
            for word_form in group.word_forms:
                word_form.name = word_form.name.lower()

    save_bs_dicts_to_txt(sorted(word_forms_bases), 'out/БС 16.03.21.txt')
コード例 #18
0
def change_bg_abbreviation():
    abbreviation_bg = sorted(
        list(set(get_string_list_from_file('src_dict/Аббревиатура. БГ.txt'))))
    capital_letter_bg = sorted(
        list(set(get_string_list_from_file('src_dict/Большая буква. БГ.txt'))))

    socket_group_list = list(read_src_socket_bs('src_dict/БГ 15.03.21.txt'))

    for socket_group in socket_group_list:
        for sub_group in socket_group.sub_groups:
            for word_form in sub_group.socket_word_forms:
                if not word_form.invisible:
                    if (str(word_form) in abbreviation_bg
                            or str(word_form) in capital_letter_bg):
                        word_form.name = word_form.name.lower()

    save_socket_bs_dicts_to_txt(socket_group_list, 'out/БГ 16.03.21.txt')
コード例 #19
0
def compare_homonyms():
    homonyms_bg = get_string_list_from_file(
        'src_dict/Омонимы БГ без этим. примечаний.txt')

    homonyms_bg_str_form = []

    for homonyms in homonyms_bg:
        socket_form = get_socket_word_form(homonyms)
        string_form = ' '.join(filter(
            None, [
                socket_form.name,
                socket_form.idf,
                ' '.join(socket_form.info),
                socket_form.note
            ]
        ))
        homonyms_bg_str_form.append(string_form)

    homonyms_bs = get_string_list_from_file(
        'src_dict/О-мы БС не совпадают с Повторами.txt')

    homonyms_bs_relevant = []
    homonyms_bs_not_relevant = []

    for homonym in homonyms_bs:
        title_form = get_bs_title_word_form(homonym)
        string_form = ' '.join(filter(
            None,
            [
                title_form.name,
                title_form.idf,
                ' '.join(title_form.info),
                title_form.note.replace('.* ', '* '),
            ]
        ))
        if string_form in homonyms_bg_str_form:
            homonyms_bs_relevant.append(homonym)
        else:
            homonyms_bs_not_relevant.append(homonym)

    save_list_to_file(homonyms_bs_relevant,
                      'out/О-мы БС совпадают с О-мами БГ.txt')
    save_list_to_file(homonyms_bs_not_relevant,
                      'out/О-мы БС не совпадают с О-мами БГ.txt')
コード例 #20
0
def change_case():
    for file_path in Path('src_dict/lst').glob('*'):
        file_stem = file_path.stem
        lower_words = []
        words = get_string_list_from_file(file_path, encoding='cp1251')
        for word in words:
            if word:
                lower_words.append(word.lower())
        out_path = f'out/lst/{file_stem}.txt'
        save_list_to_file(lower_words, out_path, encoding='cp1251')
コード例 #21
0
def remove_strings():
    relevant_repetitions = get_string_list_from_file(
        'src_dict/Повторы ост. совпадает с БС.txt')
    multi_root_bs = list(get_string_list_from_file(
        'src_dict/Многокорневые слова БС.txt'))
    multi_root_bs = [get_bs_title_word_form(x) for x in multi_root_bs]
    multi_root_bs = [
        ' '.join(filter(None, [
            x.name,
            x.idf,
            ' '.join(x.info),
            x.note,
        ]))
        for x in multi_root_bs
    ]

    save_list_to_file(sorted(list(set(
        relevant_repetitions) - set(multi_root_bs))),
                      'out/Повторы ост. совпадает с БС.txt')
コード例 #22
0
def check_presence():
    homonyms = [get_bs_title_word_form(x).name
                for x in get_string_list_from_file('src_dict/Омонимы БС.txt')]

    word_forms_bases = list(read_src_bs('src_dict/БС 16.03.21 изм.txt'))
    bs_names = [
        x.title_word_form.name.replace('*', '').strip()
        for x in word_forms_bases
    ]

    for file_path in Path('out/lst').glob('*'):
        file_stem = file_path.stem

        presence = []  # 28а. Если слово имеется в док-те Омонимы БС.txt
        nouns = []  # 29а. если слово находится
        absent = []  # 29б. если слово НЕ находится

        words = get_string_list_from_file(file_path, encoding='cp1251')
        for word in words:
            print(word)
            if word in homonyms:
                presence.append(word)

            else:
                if word in bs_names:
                    for group in word_forms_bases:
                        if word == group.title_word_form.name:
                            print(group.title_word_form)
                            nouns.append(str(group.title_word_form))
                else:
                    absent.append(word)

        if presence:
            save_list_to_file(
                sorted(presence), f'out/homonyms/{file_stem} омонимы.txt')

        if nouns:
            save_list_to_file(sorted(nouns), f'out/C/С{file_stem}.txt')

        if absent:
            save_list_to_file(
                sorted(absent), f'out/absent/{file_stem} отсутствует.txt')
コード例 #23
0
def get_remaining_repetitions():
    homonyms = []

    for line in get_string_list_from_file(
            'src_dict/О-мы БС спец. прим. совпадают с Повторами.txt'):
        bs_form = get_bs_title_word_form(line)
        homonyms.append(' '.join(filter(None, [
            bs_form.name,
            bs_form.idf,
            ' '.join(bs_form.info),
        ])))

    for line in get_string_list_from_file(
            'src_dict/О-мы БС совпадают с Повторами.txt'):
        bs_form = get_bs_title_word_form(line)
        homonyms.append(' '.join(filter(None, [
            bs_form.name,
            bs_form.idf,
            ' '.join(bs_form.info),
            bs_form.note.replace('.*', '').strip()
        ])))

    remaining_repetitions = []

    replays_in_groups = get_string_list_from_file(
        'out/Повторы в группах (без повторов).txt')
    replays_in_groups = [
        ' '.join(filter(None, [
            get_socket_word_form(x).name,
            get_socket_word_form(x).idf,
            ' '.join(get_socket_word_form(x).info),
            get_socket_word_form(x).note.replace('*', '').strip(),
        ]))
        for x in replays_in_groups
    ]

    for replay in replays_in_groups:
        if replay not in homonyms:
            remaining_repetitions.append(replay)

    save_list_to_file(remaining_repetitions, 'out/Повторы ост.txt')
コード例 #24
0
def check_g58():
    endings = ('греть', 'мять', 'оть', 'ыть', 'пеленать')

    g58_list = get_string_list_from_file('src_dict/Г58 ещё.txt')
    word_forms = [get_bs_title_word_form(x) for x in g58_list]

    out_list = []

    for word_form in word_forms[:]:
        if not word_form.name.endswith(endings):
            print(word_form)
            out_list.append(str(word_form))

    save_list_to_file(sorted(out_list), 'out/Г58 ещё изм.txt')
コード例 #25
0
def get_not_included_in_the_lists():
    word_forms_bases = read_src_bs('src_dict/БС 24.03.21.txt')

    short_form = list(get_string_list_from_file(
        'src_dict/П12. ЕСТЬ краткая форма.txt'))
    comparative = list(get_string_list_from_file(
        'src_dict/П22. ЕСТЬ сравнительная степень.txt'))
    superlative_degree = list(get_string_list_from_file(
        'src_dict/П27. ЕСТЬ превосходная степень.txt'))

    for group in word_forms_bases:
        title_form = group.title_word_form
        info_list = title_form.info
        if info_list and title_form.idf.startswith('.П'):
            flag_p12 = False
            flag_p22 = False
            flag_p27 = False
            for info_id in info_list:
                if info_id.startswith('К'):
                    flag_p12 = True
                elif info_id.startswith('С'):
                    flag_p22 = True
                elif info_id.startswith('П'):
                    flag_p27 = True

            if flag_p12 and str(title_form) not in short_form:
                print(title_form)
                add_string_to_file(str(title_form), f'out/П12 ЕЩЁ.txt')

            if flag_p22 and str(title_form) not in comparative:
                print(title_form)
                add_string_to_file(str(title_form), f'out/П22 ЕЩЁ.txt')

            if flag_p27 and str(title_form) not in superlative_degree:
                print(title_form)
                add_string_to_file(str(title_form), f'out/П27 ЕЩЁ.txt')
コード例 #26
0
def check_socket_bs():
    multi_root_words = get_dicts_from_csv_file('out/Многокорневые слова.csv')
    multi_root_bs_forms = get_string_list_from_file(
        'out/Многокорневые слова БС.txt')
    multi_root_bs_forms = [
        get_bs_title_word_form(x).name for x in multi_root_bs_forms
    ]

    for multi_root_word in multi_root_words:
        for root_index_key in list(multi_root_word)[1:]:
            if multi_root_word[root_index_key]:
                socket_form = get_socket_word_form(
                    multi_root_word[root_index_key])
                if socket_form.name not in multi_root_bs_forms:
                    print(socket_form)
コード例 #27
0
def check_g21():
    endings = ('верещать', 'верещаться', 'дышать', 'дышаться', 'кишеть',
               'кишеться', 'пищать', 'пищаться', 'слышать', 'слышаться',
               'трещать', 'трещаться', 'ршать', 'ршаться', 'жить', 'житься',
               'чить', 'читься', 'шить', 'шиться', 'щить', 'щиться')

    g21_list = get_string_list_from_file('src_dict/Г21 ещё.txt')
    word_forms = [get_bs_title_word_form(x) for x in g21_list]

    out_list = []

    for word_form in word_forms[:]:
        if not word_form.name.endswith(endings):
            print(word_form)
            out_list.append(str(word_form))

    save_list_to_file(sorted(out_list), 'out/Г21 ещё изм.txt')
コード例 #28
0
def check_g6():
    endings = ('нуть', 'нуться', 'зиждить', 'зиждиться', 'врать', 'враться',
               'жрать', 'жраться', 'рвать', 'рваться', 'реветь', 'реветься',
               'ржать', 'ржаться', 'сосать', 'сосаться', 'срать', 'сраться',
               'стонать', 'стонаться', 'ткать', 'ткаться', 'шибить',
               'шибиться')

    g6_list = get_string_list_from_file('src_dict/Г6 ещё.txt')
    word_forms = [get_bs_title_word_form(x) for x in g6_list]

    out_list = []

    for word_form in word_forms[:]:
        if not word_form.name.endswith(endings):
            print(word_form)
            out_list.append(str(word_form))

    save_list_to_file(sorted(out_list), 'out/Г6 ещё изм.txt')
コード例 #29
0
def check_g15():
    endings = ('бормотать', 'бормотаться', 'лепетать', 'лепетаться', 'плакать',
               'плакаться', 'прятать', 'прятаться', 'скакать', 'скакаться',
               'топтать', 'топтаться', 'шептать', 'шептаться', 'щебетать',
               'щебетаться', 'готать', 'готаться', 'котать', 'котаться',
               'потать', 'потаться', 'хотать', 'хотаться', 'хтать', 'хтаться')

    g15_list = get_string_list_from_file('src_dict/Г15 ещё.txt')
    word_forms = [get_bs_title_word_form(x) for x in g15_list]

    out_list = []

    for word_form in word_forms[:]:
        if not word_form.name.endswith(endings):
            print(word_form)
            out_list.append(str(word_form))

    save_list_to_file(sorted(out_list), 'out/Г15 ещё изм.txt')
コード例 #30
0
def get_not_included_in_the_lists():
    word_forms_bases = read_src_bs('src_dict/БС 24.03.21.txt')
    file_stems = {
        x.stem: list(get_string_list_from_file(f'{x}'))
        for x in Path('src_dict/lst').glob('*')
    }

    for group in word_forms_bases:
        title_form = group.title_word_form
        info_list = title_form.info
        if info_list:
            for idf in info_list:
                if idf in IDFS:
                    out_stem = IDFS[idf]
                    if str(title_form) not in file_stems[out_stem]:
                        print(title_form)
                        add_string_to_file(str(title_form),
                                           f'out/lst/{out_stem} ещё.txt')