Как мне сжать сжатие строки в Python?

Как мне сжать сжатие строки в Python?

gzip.GzipFile существует, но это для файловых объектов – как насчет простых строк?

  • Как защитить себя от бомбы gzip или bzip2?
  • TypeError: 'str' не поддерживает интерфейс буфера
  • Это ошибка в этом способе раздувания gzip?
  • Как сжать файл csv в zip-архив напрямую?
  • Чтение utf-8 символов из файла gzip в python
  • Преобразование gzipped данных, полученных urllib2 в HTML
  • Python: Создание потокового gzip'd-файла?
  • Распаковка части файла .gz с использованием python
  • 4 Solutions collect form web for “Как мне сжать сжатие строки в Python?”

    Выберите подходящий модуль из http://docs.python.org/library/archiving.html – либо gzip, либо zlib, в зависимости от ваших конкретных потребностей.

    Если вы хотите создать полную gzip совместимую двоичную строку с заголовком и т. Д., Вы можете использовать gzip.GzipFile вместе со StringIO :

     import StringIO import gzip out = StringIO.StringIO() with gzip.GzipFile(fileobj=out, mode="w") as f: f.write("This is mike number one, isn't this a lot of fun?") out.getvalue() # returns '\x1f\x8b\x08\x00\xbd\xbe\xe8N\x02\xff\x0b\xc9\xc8,V\x00\xa2\xdc\xcc\xecT\x85\xbc\xd2\xdc\xa4\xd4"\x85\xfc\xbcT\x1d\xa0X\x9ez\x89B\tH:Q!\'\xbfD!?M!\xad4\xcf\x1e\x00w\xd4\xea\xf41\x00\x00\x00' 

    Самый простой способ – кодирование zlib :

     compressed_value = s.encode("zlib") 

    Затем вы распаковываете его с помощью:

     plain_string_again = compressed_value.decode("zlib") 
     s = "a long string of characters" g = gzip.open('gzipfilename.gz', 'w', 5) # ('filename', 'read/write mode', compression level) g.write(s) g.close() 
    Python - лучший язык программирования в мире.