#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, os
#-- скрипт для сборки абзацев из разрозненных строк ---
s = '' # строка коию будем записывать в список
L = [] # список для хранения выходного файла
i = 0 # указатель положения в файле
def RusBukva1(n): # обработка буквы «до»
, ,return ((n > 223) and (n < 256)) or (n==44) or (n==45)
def RusBukva2(n): # обработка буквы «после»
, ,return ((n > 223) and (n < 256))
f = open('alfredr.txt', 'rb') # открываем и читаем промежуточный файл
d = f.read()
f.close()
c13 = 2 # константа индицирующая наличие символа «13»
for n in d: # проверка промежуточного файла на наличие символа «13»
, ,if (n == 13):
, , , ,c13 = 3
, , , ,break
for n in d: # основной цикл проверки файла
, ,i +=1 # инкримент указателя положения в файле
, ,if (n == 10): # если конец строки
, , , ,if RusBukva1(d[i-c13]) and RusBukva2(d[i]): # проверяем «до» и «после»
, , , , s += ' ' # в строку пробел
, , , ,else:
, , , , L.append(s) # добавляем строку в список
, , , , s='' # подготовка пустой строки
, ,else:
, , , ,if n != 13:
, , , , , ,m = d[i-1] # эта строка и 6 строк ниже объясню еще ниже
, , , , , ,if (m > 191) and (m < 256):
, , , , , , , ,m += 848
, , , , , ,elif(m==184):
, , , , , , , ,m = 1105
, , , , , ,elif (m==151):
, , , , , , , ,m = 8212
, , , , , ,s += chr(m) # запись символа в строку
f = open('outtext.txt', 'w') # выходной файл
for etem in L: # просматриваем список и записываем в файл
, ,f.write(etem+'\n')
f.close()
print('OK!!!')