? Анимация и создание сайтов
Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [ 106 ] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

24.1. zlib - алгоритм сжатия, совместимый с gzip 335

decompress (string [, wbits [, bufsize]])

Возвращает строку, полученную в результате распаковки строки string. Аргумент bufsize определяет начальный размер буфера вывода (при необходимости буфер будет увеличен).

decompressobj ([wbits])

Возвращает объект, реализующий распаковку потока данных. Аргумент wbits имеет такое же значение, как и для функции decompress() .

Объекты, реализующие упаковку потока данных, имеют следующие методы: compress( string)

Упаковывает строку string и возвращает строку с упакованными данными как минимум для части строки string. Часть данных может быть оставлена во внутреннем буфере для дальнейшей обработки. Возвращаемая строка должна быть добавлена к строкам, полученным в результате предыдущих вызовов метода.

flush( [mode])

Обрабатывает содержимое внутреннего буфера и возвращает строку с упакованным остатком данных.

В качестве аргумента mode метода flush() может быть использована одна из следующих констант:

Z SYNC FLUSH

Обрабатывает содержимое внутреннего буфера. Данные могут быть использованы для распаковки до текущего места.

Z FULL FLUSH

Аналогично Z SYNC FLUSH, но также сбрасывает состояние. Распаковка может быть перезапущена с этого уровня, если предыдущие сжатые данные оказались поврежденными или необходим произвольный доступ к сжатым данным.

Z FINISH

Полностью завершает сжатие, используется по умолчанию. После этого объект не может быть использован для упаковки данных.

Объекты, реализующие распаковку потока данных, имеют следующие атрибут данных и методы:

unused data

Строка с неиспользованными данными. Должна быть пустой, если объекту была передана вся строка с упакованными данными.

decompress( string)

Распаковывает строку string и возвращает строку с распакованными данными как минимум для части строки string. Часть данных может быть оставлена во внутреннем буфере для дальнейшей обработки. Возвращаемая строка должна быть добавлена к строкам, полученным в результате предыдущих вызовов метода.



24.2 gzip - работа с файлами, сжатыми программой gzip

Метод сжатия, предоставляемый модулем zlib, совместим с методом, используемым программой GNU gzip. Модуль gzip реализован поверх модуля zlib и предоставляет класс GzipFile, реализующий чтение и запись файлов в gzip-формате (RFC 1952). Упаковка и распаковка данных происходит автоматически, так что экземпляры класса GzipFile ведут себя аналогично обычным файловым объектам. Заметим, что этот модуль не позволяет работать с файлами дополнительных форматов (созданных программами compress и pack), которые могут быть распакованы программой gzip (gunzip).

GzipFile (filename [, mode [, compresslevel [, fileobj]]])

Возвращает объект аналогичный файловому, обеспечивающий прозрачную упаковку и распаковку данных. Экземпляры класса GzipFile имеют большинство методов, характерных для файловых объектов, кроме seek() и tell() .

Если задан и не равен None аргумент fileobj (файловый или подобный объект), он будет использован для чтения/записи (аргумент filename в этом случае будет использован только в заголовке gzip-файла и может быть равен None), иначе будет открыт файл с именем filename.

Аргумент mode должен иметь одно из трех значений: rb, ab или wb. По умолчанию используется rb.

Уровень сжатия устанавливается аргументом compresslevel, который должен быть целым числом от 1 до 9. По умолчанию используется значение 9 , обеспечивающее максимальную степень сжатия.

Вызов метода close() экземпляра класса GzipFile не закрывает файловый объект fileobj. Это позволяет добавить дополнительные данные, а также извлечь результат, используя метод getvalue() экземпляра класса StringIO.

open( filename [, mode [, compresslevel]])

Эквивалентно вызову GzipFile( filename, mode, compresslevel) .

24.3 zipfile - работа с zip-архивами

Этот модуль доступен, начиная с версии 1.6, и позволяет записывать и читать zip-архивы.

flush ()

Обрабатывает содержимое внутреннего буфера и возвращает строку с распакованным остатком данных. После вызова этого метода объект не может быть использован для распаковки данных.



24.3. zipfile - работа с zip-архивами 337

error

Исключения этого класса генерируются, если указанный файл не является zip-архивом или поврежден.

is zipfile( path)

Возвращает 1, если path является zip-архивом, иначе возвращает 0. Текущая реализация модуля не позволяет работать с архивами, содержащими комментарий.

ZipFile( filename [, mode [, compression]])

Возвращает объект, реализующий автоматическую упаковку/распаковку при чтении/записи файла с именем filename. Аргумент mode может иметь одно из трех значений: r (чтение), w (запись в новый архив) или a (добавление к существующему архиву). По умолчанию используется r. В качестве аргумента compression может быть использована одна из приведенных ниже констант, при попытке использования недоступного метода генерируется исключение RuntimeError.

PyZipFile( filename [, mode [, compression]])

Этот класс является производным от класса ZipFile и реализует один дополнительный метод, позволяющий создавать архивы файлов библиотек и пакетов языка Python.

ZipInfo ([filename [, date time]])

Создает и возвращает объект, описывающий файл в архиве. Аргумент filename определяет имя файла (по умолчанию используется NoName), date time - дату и время создания файла (кортеж из целых чисел: год, месяц, число, час, минута, секунда).

В настоящий момент модуль поддерживает только два метода сжатия (аргумент compression конструктора ZipFile):

ZIP STORED

Упаковка данных без сжатия (используется по умолчанию).

ZIP DEFLATED

Наиболее часто используемый в zip-файлах метод сжатия. Этот метод требует наличия модуля zlib.

Экземпляры классов ZipFile и PyZipFile имеют следующие атрибуты данных и методы:

namelist()

Возвращает список имен файлов, содержащихся в архиве. infolist()

Возвращает список экземпляров класса Ziplnfo, представляющих описание файлов, содержащихся в архиве.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [ 106 ] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145