проблема с файловым вводом-выводом на python

Есть файл, в котором вперемешку русский, украинский и английский языки, больше 270,000,000 знаков, нужно оставить только русский текст. Написал такую программу на Python:

import time

from tqdm import tqdm

alphabet = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя 0123456789,.!?'
fin = open("C:/Users/...../file.txt")
fout = open("C:/Users/...../file_new.doc", "w")
print("\033[31m {}".format('Придется немного подождать!'))
progres = [i for i in range(100)]

for i in tqdm(progres):
    for letter in fin.read():
        if letter in alphabet:
            fout.write(letter)
    time.sleep(0.1)

Все работает нормально, но вот с кириллицей проблема, удаляет только знаки украинского языка которые не в ходят в алфавит русского, а остальное все оставляет, подскажите куда копать пожалуйста, как выйти из ситуации. Пытался проверять каждую строку на наличие например "і, ї, є" и при первом вхождении удалять всю строку, но не могу додуматься как реализовать это в такой интерпретации.


Ответы (1 шт):

Автор решения: poiug07

Пробовал list comprehesnsions?

[x for x in text if x in symbols]

где symbols - это кирилица и цифры, text - твой текст

`alphabet = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя 0123456789,.!?'
text = "Magic is here  АБВгтвыа 546123 !! ы ӘІҢҒ"
print(''.join([x for x in text if x in alphabet]))`

например вот это работает для меня

→ Ссылка