Выбрать главу

, , , ,if (SQ != None) and (SQ != '') and (old_List[i+1].find(SQ)==0):

, , , , , ,m = -(len(SQ)+1)

, , , , , ,new_List.append(s[:m]+'@') # помечаем строку для последующего объединения

, , , ,else:

, , , , , ,new_List.append(s)

, ,else:

, , , ,new_List.append(s)

, ,i += 1

, ,if i > len(old_List):

, , , ,new_List.append(item[i+1])

, , , ,break

old_List.clear()

# второй проход. соединение строк

#for item in reversed(new_List):

for item in new_List:

, ,if item == '':

, , , ,if SS != '':

, , , , , ,old_List.append(SS)

, , , , , ,SS = ''

, , , ,old_List.append(item)

, , , ,continue

# , ,print(item)

, ,if FlagQ:

, , , ,SS = SS[:-1] + item

, , , ,FlagQ = item[-1] == '@'

, ,else:

, , , ,if SS != '':

, , , , , ,old_List.append(SS)

, , , , , ,SS = ''

, , , ,if item[-1] == '@': # последний символ строки

, , , , , ,FlagQ = True

, , , , , ,SS = item

, , , ,else:

, , , , , ,old_List.append(item)

, , , , , , , ,

if SS != '':# запись последней строки

, ,old_List.append(SS)

#--------------------------------------

fn2="2_.txt"

new_file=open(fn2,'w')

for i in old_List:

, , new_file.write(i+'\n')

new_file.close()

print('Done')

str2parag.py

#!/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!!!')

utf8-1251.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

fin = open('art.txt', 'r') # открываем исходный файл

out = open('outt.txt', 'w', encoding='cp1251') # подготавливаем промежуточный файл

for s in fin: # переписываем из файла в файл

, ,s = s.rstrip()

, ,out.write(s+'\n')

fin.close()

out.close()

print('Done')

8 Images

base64_pic.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys, os

import base64

def getAttribute(Tag):

, ,s = Tag[Tag.find(' id=')+4:]

, ,s = s[s.find('"')+1:]

, ,s = s[:s.find('"')]

, ,return s

def parseBinaryContent(filename):

, ,

# filename = sys.argv[1]

, ,if filename[-4:] == '.fb2':

, , , , dirname = filename[:-4]+'_pic'

, ,else:

, , , , exit()

, ,if not os.path.isdir(dirname):

, , , ,os.mkdir(dirname)

, ,flag = False

, ,bina = False

, ,S = ''

, ,#------------------------

, ,path = os.getcwd()

, ,fin = os.path.join(path, filename)

, ,f = open(fin, 'rb')

, ,d = f.read()

, ,

, ,for n in d:

, , , ,if bina:

, , , , , ,if chr(n) == '<':

, , , , , , , ,print('5')

, , , , , , , ,dd = base64.urlsafe_b64decode(S) #()

, , , , , , , ,hh = open(os.path.join(dirname, name_Pic), 'wb')

, , , , , , , ,hh.write(dd)

, , , , , , , ,hh.close()

, , , , , , , ,bina = False

, , , , , ,else:

, , , , , , , ,S = S + chr(n)

, , , , , ,continue

, , , ,if chr(n) == '<': # начало тега

, , , , , ,

, , , , , ,flag = True

, , , , , ,Tag = ''

, , , ,else:

, , , , , ,if flag:

, , , , , , , ,if chr(n) == '>':

, , , , , , , , , ,

, , , , , , , , , ,flag = False

, , , , , , , , , ,if Tag.find('binary')> -1:

, , , , , , , , , , # print(Tag)

, , , , , , , , , , , ,bina = True

, , , , , , , , , , , ,S = ''

, , , , , , , , , , , ,name_Pic = getAttribute(Tag)

, , , , , , , , , , , ,

, , , , , , , , , , , ,

, , , , , , , ,else:

, , , , , , , , , ,Tag = Tag + chr(n)

, , , , , ,

, , , , , , , ,

parseBinaryContent('Ho.fb2')

del_pic.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# Удаление секций binary из файла xxxx.fb2.zip

import sys, os, io, zipfile

cover = ''

NameFb2 = ''

L=[]

#---------------------------------------------

def Del_Image():

, ,global NameFb2

, ,global L

, ,vi = io.StringIO()

, ,notbinary = True

, ,for i in L:

, , , ,if notbinary:

, , , , , ,if (i.find('<binary')>=0):

, , , , , , , ,if (i.find(cover)>=0):

, , , , , , , , , ,vi.write(i)

, , , , , , , ,else:

, , , , , , , , , ,notbinary = False

, , , , , ,else:

, , , , , , , ,vi.write(i)

, , , ,if i.find('</binary')>=0: