• XSS.stack #1 – первый литературный журнал от юзеров форума

Вытащить строки в неверной кодировкой в новый файл.

Тысячекратно извиняюсь за говнокоды, но это же слишком просто.
Python:
file_read = 'source.txt'
file_seave = 'result.txt'

fr = open(file_read, 'r', encoding='utf-8')
fw = open(file_seave, 'a+')

for line in fr:
    res = line.encode('windows-1251').decode('utf-8')
    print(f'{line}\t{res}')
    fw.write(line + '\n')
    fw.flush()
Если нужна проверка то перед записью стоит впихнуть регулярку
Python:
if re.match('[А-я]', res)
немного подшаманили)
Python:
import re



f1 = open("kkk.txt","rb")
f2 = open("rrr.txt","wb")


while True:
 l = f1.readline()
 if len(l) == 0:
  break
 
 for i in list(l.decode("utf-8")):
  res = bool(re.match("[0-9a-zA-Zа-яА-Я\n,.<>/?\\|\"';:\\[\\]{}!@#$%^&*()_+-=~`]",i))
  if not res:
   print(i,res)
   break
 print(i.encode())
 if res:
  f2.write(l)
 
Я просто неуч, а надо закрывать файлы с флагом "только для чтения"?
"При выходе из программы система автоматически закрывает все открытые дескрипторы" - какойто дядька в интернете
Не система, а сборщик мусора python и не факт.
Это правило хорошего тона, не очень грубая ошибка.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх