Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Приложение к «Python в библиотеке»

w cat (w_cat) - Приложение к «Python в библиотеке»

Приложение к «Python в библиотеке»
Книга - Приложение к «Python в библиотеке».  w cat (w_cat)  - прочитать полностью в библиотеке КнигаГо
Название:
Приложение к «Python в библиотеке»
w cat (w_cat)

Жанр:

Самиздат, сетевая литература, Программирование: прочее, Python

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Приложение к «Python в библиотеке»"

Запустив скрипт «fb2_dir.py» Вы извлечете из файла исходники сакриптов.

Читаем онлайн "Приложение к «Python в библиотеке»". [Страница - 9]

List:

, , , ,f.write(i)# 'cp1251' '\n'

, ,f.close()

def ScanDir(fn): # сканирование папки

, ,dirlist = os.listdir(fn)

, ,dirlist.sort()

, ,for a in dirlist:

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

, , , , , ,a = a.lower()

, , , , , ,m = a.split(".")[-1]

, , , , , ,if (m == "fb2"): # , , , , , , , , or (m == "zip")

, , , , , , , ,a = os.path.join(fn, a)

, , , , , , , ,List.append(a+'\n')

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

path = os.getcwd()

parse_dir(path) # сканирование текущей папки

print('Файлов извлечено '+str(Count))

ScanDir(path)

SaveList()

print('ok??')

join_fb2m2.py

#!/usr/bin/env python

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

import sys, os

# 18.01.22

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

def SaveList():

, ,f = open('lib.fb2', 'w', encoding="utf-8")

, ,for i in Books:

, , , ,f.write(i)# 'cp1251' '\n'

, ,f.close()

Books = []

conutBooks = 0

LAllNotes = []

'''

def AddNotes(LNotes):

, ,if len(LNotes) > 0:

, , , ,f = open('Notes'+str(conutBooks)+'.txt', 'w', encoding="utf-8")

, , , ,for i in LNotes:

, , , , , ,i = i.replace('id="n','id="'+ str(conutBooks)+ '_n')

, , , , , ,f.write(i)

, , , ,f.close()

'''

def AddNotes(LNotes):

, ,if len(LNotes) > 0:

, , , ,for i in LNotes:

, , , , , ,i = i.replace('id="n','id="'+ str(conutBooks)+ '_n')

, , , , , ,LAllNotes.append(i)

def addFb2(fn, first):

, ,global Books

, ,global conutBooks

, ,LList = []

, ,sBook_title = ''

, ,bBook_title = False

, ,bWait_notes = False

, ,bNotes = False

, ,LNotes = []

, ,conutBooks += 1

, ,if os.path.isfile(nfile):

, , , ,with open(fn, encoding="utf8") as f:

, , , , , ,LList = f.readlines()

, , , ,for i in LList:

, , , , , ,if bNotes:

, , , , , , , ,if i.find('</body')> -1:

, , , , , , , , , ,AddNotes(LNotes)

, , , , , , , , , ,break

, , , , , , , ,else:

, , , , , , , , , ,LNotes.append(i)

, , , , , , , ,continue

, , , , , ,if bWait_notes:

, , , , , , , ,if i.find('<section')> -1:

, , , , , , , , , ,bNotes = True

, , , , , , , , , ,LNotes.append(i)

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

, , , , , , , , , ,break

, , , , , , , ,continue

, , , , , ,if not first: #

, , , , , , , ,if bBook_title:

, , , , , , , , , ,n = i.find('</book-title')

, , , , , , , , , ,if ( n == -1):

, , , , , , , , , , , ,sBook_title = sBook_title + ' ' + i.strip()

, , , , , , , , , , , ,continue

, , , , , , , , , ,else:

, , , , , , , , , , , ,sBook_title = sBook_title + ' ' + i[:n]

, , , , , , , , , , , ,bBook_title = False

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

, , , , , , , ,n = i.find('<book-title')

, , , , , , , ,if n > -1:

, , , , , , , , , ,sBook_title = i[n+12:]

, , , , , , , , , ,n = sBook_title.find('</book-title')

, , , , , , , , , ,if n > -1:

, , , , , , , , , , , ,sBook_title = sBook_title[:n]

, , , , , , , , , , , ,bBook_title = False

, , , , , , , , , ,else:

, , , , , , , , , , , ,sBook_title = sBook_title + ' ' + i.strip()

, , , , , , , , , , , ,bBook_title = True

, , , , , , , , , , , ,continue

, , , , , , , ,n = i.find('<body')

, , , , , , , ,if n > -1:

, , , , , , , , , ,i = i[n:]

, , , , , , , , , ,n = i.find('>')

, , , , , , , , , ,i = i[n+1:]

, , , , , , , , , ,

, , , , , , , , , ,Books.append('\n*%%%%%%%* '+str(conutBooks)+'\n')

, , , , , , , , , ,#print('%%%%%%%')

, , , , , , , , , ,bb = sBook_title.strip()

, , , , , , , , , ,#print(bb)

, , , , , , , , , ,Books.append('<p>'+bb+'\n</p>')

, , , , , , , , , ,Books.append(i)

, , , , , , , , , ,first = True

, , , , , ,else:

, , , , , , , ,n = i.find('</body')

, , , , , , , ,if n > -1:

, , , , , , , , , ,i = i[:n]

, , , , , , , , , ,Books.append(i)

, , , , , , , , , ,#break

, , , , , , , , , ,bWait_notes = True

, , , , , , , ,else:

, , , , , , , , , ,if i.find('<a ')>-1:

, , , , , , , , , , , ,i = i.replace('href="#','href="#'+ str(conutBooks)+ '_')

, , , , , , , , , ,Books.append(i)

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

nfile = "list.txt"

first = True

if os.path.isfile(nfile): # encoding='cp1251'

with open(nfile, encoding="utf8") as f:

, , Li = f.readlines()

for i in Li:

, , addFb2(i.strip(), first)

, , first = False

, ,

Books.append('</body>\n')

if len(LAllNotes) > 0:

, ,Books.append('<body name="notes">\n')

, ,Books.append('<title><p>Примечания</p></title>\n')

, ,for i in LAllNotes:

, , , ,Books.append(i)

, ,Books.append('</body>\n')

, ,

Books.append('</FictionBook>\n')#

SaveList()

print( 'Done!')

Other

count_fb_z.py

#!/usr/bin/env python

# -*- codning: utf-8 -*-

import sys, os

import zipfile

import xml.dom.minidom

# Подсчет числа секций и числа символов в fb2

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

path = os.getcwd()

count_s = 0

count_t = 0

count_b = 0

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

def sect(el):

, ,global count_s

, ,global count_t

, ,childList=el.childNodes

, ,for child in childList:

, , , ,if child.nodeName == 'p':

, , , , , ,text = child.childNodes[0].nodeValue

, , , , , ,if text != None:

, , , , , , , ,count_t += len(text)

, , , ,if child.nodeName == 'section':

, , , , , ,count_s += 1

, , , , , ,sect(child)

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

def parse_fb2(fn):

, ,global count_b , ,

, ,dom = xml.dom.minidom.parse(fn);

, ,dom.normalize()

, ,n_body=dom.getElementsByTagName("body")[0]

, ,sect(n_body)

, ,fb=dom.getElementsByTagName("FictionBook")[0]

, ,childList=fb.childNodes

, ,for child in childList:

# , , print(child.nodeName)

, , , , if child.nodeName == 'binary':

, , , , , ,text = child.childNodes[0].nodeValue

, , , , , ,if text != None:

, , , , , , , ,count_b += len(text)

def MyPrint(adr):

, ,print(adr)

, ,print('section '+str(count_s))

, ,print('text '+str(count_t))

, ,print('pic '+str(count_b))

, ,print('size file '+ str(os.path.getsize(adr)))

def parse_zip(adr):

, ,z = zipfile.ZipFile(adr, 'r')

, ,filelist = z.namelist()

, ,filelist.sort()

, ,for n in filelist:

, , , ,if n[-4:] == ".fb2":

, , , , , ,parse_fb2(z.open(n))

def parse_file(adr):

, ,if not os.path.isfile(adr):

, , , ,print('File not exists')

, , , ,return

, ,m = adr.split(".")

, ,if (m[-1] == "zip") and (m[-2] == "fb2"):

, , , , parse_zip(adr)

, ,elif (m[-1] == "fb2"):

, , , , parse_fb2(adr)

, ,

while True:

, ,qu = input('Введите ')

# , ,qu = '6.fb2.zip'

, ,a = os.path.join(path, qu)

, ,parse_file(a)

, ,MyPrint(a) , , , , , ,

, ,print('OK!!!')

delbylist.py

#!/usr/bin/env python

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

import sys, os

# 2 авг

# --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Приложение к «Python в библиотеке»» по жанру, серии, автору или названию: