Читаем Приложение к «Python в библиотеке» полностью

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

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

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

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

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

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

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

, , , , , , , ,else:

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

, , , , , ,

, , , , , , , ,

parseBinaryContent('Ho.fb2')

<p>del_pic.py</p>

#!/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('=0):

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

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

, , , , , , , ,else:

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

, , , , , ,else:

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

, , , ,if i.find('=0:

, , , , , ,notbinary = True

, ,w = zipfile.ZipFile('^temp.zip', 'w', zipfile.ZIP_DEFLATED) # Создание нового архива

, ,w.writestr(NameFb2, vi.getvalue()) , ,

, ,w.close()

, ,vi.close()

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

def o_zip(fn):

, ,global NameFb2

, ,global L

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

, ,filelist = z.namelist()

, ,for n in filelist:

, , , ,try:

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

, , , , , , , ,body = z.open(n)

, , , , , , , ,NameFb2 = n

, , , , , , , ,for line in body:

, , , , , , , , , ,L.append(str(line, 'UTF-8'))

, , , , , , , ,return True

, , , ,except:

, , , , , ,print( "error:", n )

, , , , , ,return False

#-------------------- main ------------------------

print('Удаление секций binary из файла xxxx.fb2.zip')

FileName = input('Введите имя файла:')

if FileName == '':

, , exit()

e = input('Удалить обложку? [y/n]')

if e == 'y':

, , cover = 'not'

else:

, , cover = 'cover.'

if os.path.isfile(FileName):

, ,if o_zip(FileName):

, , , ,Del_Image()

, , , ,os.remove(FileName)

, , , ,os.rename('^temp.zip', FileName)

, , , ,print("Done.")

, ,else:

, , , ,print("???")

else:

, ,print("File doesn't exists!")

<p>pic_base64.py</p>

# подготовка рисунка для fb2

import base64

# Автор: Abhishek Amin , ,Дата записи 09.04.2021

# + w_cat 05.07.22

fn = 'ce55.jpg'

with open(fn, 'rb') as binary_file:

, ,binary_file_data = binary_file.read()

, ,base64_encoded_data = base64.b64encode(binary_file_data)

, ,base64_message = base64_encoded_data.decode('utf-8')

, ,ff = fn + '.txt'

, ,f = open(ff, 'w')

, ,f.write(''+'\n')

, ,f.write(base64_message+'\n')

, ,f.write(''+'\n\n')

, ,f.close()

# осталось сделать:

# 1. определение типа файла

# , ,и изменение content-type в соответствии с типом.

# 2. упаковку группы файлов.

<p>10</p><p>del_empty_dir.py</p>

#!/bin/env python

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

# Удаление пустых папок

import sys, os

def del_empty_dirs(path):

, ,global co

, ,for d in os.listdir(path):

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

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

, , , , , ,del_empty_dirs(a)

, , , , , ,if not os.listdir(a):

, , , , , , , ,co += 1

, , , , , , , ,os.rmdir(a) , , , , , ,

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

Mpath = os.getcwd()

co = 0

del_empty_dirs(Mpath)

print('Удалено '+str(co)+' пустых папок.')

<p>Mer.py</p>

#!/usr/bin/env python

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

# поиск одинаковых файлов

#

import sys, os

import hashlib #

ex = 'zip'#'fb2'#'txt'#'mp4'#'gif'#'jpg'

GFiles = []

co = 0

LOut = []

def SaveInList(L3):

, ,if len(L3) > 0:

, , , ,global co

, , , ,global LOut

, , , ,for i in L3:

, , , , , ,LOut.append(i+'\n')

, , , , , ,co += 1

, , , ,LOut.append('-----\n\n')

def ScanMd5(L2):

, ,if len(L2) > 0:

, , , ,L3 = []

, , , ,L2.sort()

, , , ,flag = False

, , , ,oldMd5 = ''

, , , ,OldFile = ''

, , , ,for i in L2:

, , , , , ,m = i.split('%')

, , , , , ,ZMd5= m[0]

, , , , , ,if (not flag) and (ZMd5 == oldMd5):

, , , , , , , ,flag = True

, , , , , , , ,L3.append(OldFile)

, , , , , ,if flag:

, , , , , , , ,if ZMd5 == oldMd5:

, , , , , , , , , ,L3.append(m[1])

, , , , , , , ,else:

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

, , , , , , , , , ,SaveInList(L3)

, , , , , , , , , ,L3.clear()

, , , , , , , , , ,

, , , , , ,oldMd5 = ZMd5

, , , , , ,OldFile = m[1]

, , , ,SaveInList(L3) #

, ,

def ScanSize(GFiles):

, ,if len(GFiles) > 0:

, , , ,L = []

, , , ,flag = False

, , , ,oldSize = ''

, , , ,OldFile = ''

, , , ,for i in GFiles:

, , , , , ,m = i.split('%')

, , , , , ,Zaize = m[0]

, , , , , ,if (not flag) and (Zaize == oldSize):

, , , , , , , ,flag = True

, , , , , , , ,L.append(getmd5(OldFile)+'%'+ OldFile)

, , , , , ,if flag:

, , , , , , , ,if Zaize == oldSize:

, , , , , , , , , ,L.append(getmd5(m[1])+'%'+ m[1])

, , , , , , , ,else:

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

, , , , , , , , , ,ScanMd5(L)

, , , , , , , , , ,L.clear()

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

, , , , , ,oldSize = Zaize

, , , , , ,OldFile = m[1]

, , , ,ScanMd5(L) #

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

def getmd5(file_name):

## try

with open(file_name, "rb" ) as file_to_check:

data = file_to_check.read()

return hashlib.md5(data).hexdigest()

def parse_file(fn):

, ,global GFiles

, ,s=str(os.path.getsize(fn))+'%'#

, ,GFiles.append(s+fn)

, , , ,

def parse_dir(sSrc):

, ,global f_list

, ,for file in os.listdir(sSrc):

, , , ,# full pathname

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных