python zlib如何解压多个对象

2023-11-29

我尝试在我的文件上写入许多 zlib 块,有没有办法可以从我的文件中获取所有未压缩的内容?从下面的示例代码我只能得到我的第一个数据。预先感谢您的任何意见!

Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import zlib
>>> str1 = b'my first string'
>>> str2 = b'my second string'
>>> z1 = zlib.compress(str1)
>>> z2 = zlib.compress(str2)
>>> with open('test.z', 'wb') as fh:
...     fh.write(z1)
...     fh.write(z2)
... 
23
24
>>> p = open('test.z','rb').read()
>>> p
b'x\x9c\xcb\xadTH\xcb,*.Q(.)\xca\xccK\x07\x00.6\x05\xe6x\x9c\xcb\xadT(NM\xce\xcfKQ(.)\xca\xccK\x07\x003\xfb\x06:'
>>> zlib.decompress(p)
b'my first string'
>>> zlib.decompress(p)
b'my first string'

There isn't a way to decompress concatenated compressed streams in a single function or method call*. However, it's possible to get equivalent functionality using the tools in the zlib package.

>>> import zlib
>>> b1 = b'Here is some data'
>>> b2 = b'Here is some more data'
>>> stream = zlib.compress(b1) + zlib.compress(b2)


>>> while stream:
...     dco = zlib.decompressobj()
...     dec = dco.decompress(stream)
...     print(dec)
...     stream = dco.unused_data
... 
b'Here is some data'
b'Here is some more data'

zlib.decompressobj()创建一个解压缩单个压缩流的对象 - 就像zlib.decompress- 并在其中公开流中的剩余字节未使用的数据属性。因此我们可以循环解压缩,直到整个串联流都被解压缩。

*At least, not that I could find

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python zlib如何解压多个对象 的相关文章

  • 激活虚拟环境不起作用

    我创建了两个 virtualenv 并安装了两个不同版本的 django 现在我在激活两个环境时遇到问题 我喜欢这样 source Django1 6 bin activate 然后我看到环境被激活了 然后我这样做 pip install
  • Scikit-learn 中的 GridSearchCV 输出问题

    我想执行超参数搜索以在 sklearn 中选择预处理步骤和模型 如下所示 pipeline Pipeline combiner PolynomialFeatures dimred PCA classifier RandomForestCla
  • Python:UnboundLocalError:赋值前引用的局部变量“count”[重复]

    这个问题在这里已经有答案了 我不明白我的 Python 代码有什么问题 它给了我以下错误 Traceback most recent call last File main py line 77 in
  • 从 C# 运行多个 python 脚本

    我希望有人能够在这里帮助我 我对 C 比较陌生 正在尝试执行我在 C winform 应用程序中编写的一些 Python 代码 我想做的是从 winform 中的文本框中输入名称 并让它通过 python 脚本进行处理 并在 winform
  • RuntimeError:期望后端 CUDA 对象,但获得后端 CPU 作为参数:ret = torch.addmm(torch.jit._unwrap_Optional(bias), input, Weight.t())

    当 的时候forward我的神经网络的功能 训练阶段完成后 正在执行 我正在经历RuntimeError Expected object of backend CUDA but got backend CPU for argument 4
  • pandas 支持 DataFrame 的哪些绘图后端?

    pandas 确实允许与第三方一起绘图绘制后端 https pandas pydata org pandas docs stable development extending html plotting backends 我知道matpl
  • f2py:公开“已使用”模块的参数

    我认为这个问题已经在某个地方得到解决 但我花了大量的时间四处寻找答案 包括深入研究源代码 我试图将问题放在第一段中 其余部分显示了问题的基本示例 我正在尝试编译一个包含USE指向另一个更通用的模块的语句 我更愿意将使用的模块分开 以便它可以
  • 使用具有阿拉伯字符的 json.dumps 将字典转换为 json [重复]

    这个问题在这里已经有答案了 我有一本包含阿拉伯语单词的字典 例如 data name name print json dumps data file open data json a encoding utf 8 Output name u
  • 从 pexpect 中提取 stderr

    我的问题很简单 我可以吗 expect 使用 pexpect 查看 stderr 上的某些输出 它似乎pexpect spawn 只能用于期望 stdout 上的输出 乌托邦的例子 import pexpect child pexpect
  • Pytorch不支持one-hot向量?

    我对 Pytorch 如何处理 one hot 向量感到非常困惑 在这个tutorial https pytorch org tutorials beginner blitz cifar10 tutorial html 神经网络将生成一个
  • PyCharm 项目文件消失了

    我当时正在做一个 python 项目JetBrains PyCharm 2016 2 https www jetbrains com pycharm 在 Lubuntu 上 突然之间 我的所有项目文件都从 IDE 中消失了 我尝试了以下方法
  • 如何在pytorch中使用多个GPU?

    我使用此命令来使用 GPU device torch device cuda 0 if torch cuda is available else cpu 但是 我想使用两个 GPUjupyter 像这样 device torch devic
  • 如何在 Anaconda(Jupyter 笔记本)中导入 python 自定义类

    我无法找到如何使用 anaconda 中的 Jupyter 笔记本在 Python 中导入自定义类 在我的工作文件夹中有一个文件 用户 ipynb 包含类名User 在同一文件夹中的其他文件中 我尝试使用以下命令导入此类 从用户导入用户 我
  • scikit learn中partial_fit遇到的错误

    在 scikit learn 中使用partial fit 函数进行训练时 即使训练后的模型行为正确并给出正确的输出 我也会在程序未终止的情况下收到以下错误 这怎么可能 以及这样做的后果是什么 这是值得担心的事情吗 usr lib pyth
  • 使用 itertools.product 并想要播种一个值

    所以我写了一个小脚本来从网站下载图片 它通过 7 个字母字符值 其中第一个字符始终是数字 问题是 如果我想停止脚本并再次启动它 我必须从头开始 我可以用我得到的最后一个值以某种方式播种 itertools product 吗 这样我就不必再
  • 以另一种风格制作一个带有形状和偏移参数的 numpy 数组

    我想以 3 元素实体 3d 位置 和单个元素 每个 x y z 坐标 的形式访问我的数组 经过一番研究后 我最终做了以下事情 gt gt gt import numpy as np gt gt gt arr np zeros 5 dtype
  • Python:控制超时长度

    我在脚本中运行了类似于以下的代码 try s ftplib FTP xxx xxx xxx xxx username password except print Could not contact FTP serer sys exit 如果
  • 使用 Fabric 检查路径是否存在

    我正在运行此代码来检查此目录是否存在于远程计算机上 但此代码正在检查本地计算机上的目录 如何验证远程计算机上的目录 rom fabric api import run sudo env import os env hosts remote
  • 为什么“导入*”不好?

    建议不要使用import 在Python中 谁能分享一下原因 以便我下次可以避免这样做 因为它将很多东西放入您的名称空间中 可能会隐藏以前导入的其他对象 而您不会知道它 因为您不确切知道导入了什么 并且无法轻松找到某个东西是从哪个模块导入的
  • 为什么 a.insert(0,0) 比 a[0:0]=[0] 慢很多?

    使用列表的insert函数比使用切片分配实现相同效果要慢得多 gt python m timeit n 100000 s a a insert 0 0 100000 loops best of 5 19 2 usec per loop gt

随机推荐

  • 我怎样才能制作如图所示的模态 - 不和谐

    我想在按下按钮时创建一个如图所示的模式 如何使用 Discord py 或 nextcord 制作此模型 您可以在此处找到 Nextcord 中的模态示例 https github com nextcord nextcord blob ma
  • 无窗口 .NET 应用程序中的全局热键

    我读过有关此问题的类似问题 包括在 C 中解决全局热键处理的最佳方法 and 使用C 设置全局热键 我还研究了 NuGet 包全局热键这似乎还处于起步阶段 这里的问题是 它们中的大多数似乎是为 Winforms 设计的 或者可能在 WPF
  • 调整窗口大小时 Java Swing 绘图消失

    我非常需要你的帮助 因为我自己无法解决这个问题 我正在尝试创建一个 GUI 并想在按下按钮后在其中绘制一些内容 但我似乎遇到某种刷新 重新验证或线程问题 绘图已绘制 但是当我调整窗口大小时 绘图消失了 此外 当快速移动窗口时 部分绘图会消失
  • 创建带有索引错误的 if 语句 - Python

    我正在尝试创建一个类似于贪吃蛇的游戏 不同之处在于 通过使用 randint 获得食物配给 然后玩家可以选择蛇的生长方向 起始位置也是随机选择的 游戏场是用矩阵构建的 因此可以通过选择使列表超出范围的增长方向来 增长到墙壁 我的问题是 如果
  • 箭头函数和括号 () 或 {} 或 ({}) 的使用

    我不明白为什么在箭头函数中我们不需要将箭头函数的文字包装在 大括号 而不是在本例中 文字只是包裹在单个大括号中 大括号 为什么 我曾在网上寻找答案 但失败了 以及为什么我们将参数放在双括号中 而不仅仅是 const FilterLink f
  • 如何使用 pandas 清理和转发填充多天 1 分钟时间序列?

    我有一个 csv 文件 其中包含多天的 1 分钟股票数据 每天的运行时间为 9 30 至 16 00 时间序列中的一些分钟缺失 此处缺少 2013 09 16 09 32 00 和 2013 09 17 09 31 00 2013 09 1
  • 带 camlQuery 的 Sharepoint 2010 客户端对象模型 - 文件下载但无内容/0 字节

    我正在尝试从文档库中的文件夹内的子文件夹下载 txt 文件 我正在使用 camlQuery 来实现此目的 不幸的是 我没有得到txt文件的内容 它有 0 字节 public void SaveFolderFiles string fileN
  • 将视图中的 Django 查询集传递给模板

    我有一个 Django 视图 它具有一些将正确类别传递给模板的逻辑 class ProductListView ListView model models Product template name catalogue catalogue
  • 2048年制作转变功能

    假设我有一个清单 board 2 4 0 2 8 4 4 8 0 2 0 0 4 0 2 2 我已经有一些代码可以使列表显示如下 2 4 0 2 8 4 4 8 0 2 0 0 4 0 2 2 那么有没有办法让我从每行中删除每个 0 并将其
  • 在 SELECT 语句中执行存储过程

    例如 我有一个 select 语句 它返回 1000 行 我需要为 select 语句返回的每一行执行特定的存储过程 你知道我该怎么做吗 在您的 select 中构造 EXECUTE 语句 如下所示 SELECT EXEC sp whate
  • iOS 11.1 游戏顶部和底部触摸无响应

    自从安装 iOS 11 1 以来 我们发现屏幕顶部和底部的条带对触摸没有响应 这会影响我开发的横向应用程序和纵向应用程序 它们使用金属 API 进行渲染 在其他一些开发者的应用程序上也观察到了这个问题 例如Golf Clash 但不是其他
  • 实体框架错误 - 使用的 SQL Server 版本不支持数据类型“datetime2”

    我在 ASP NET 4 0 Web 窗体中使用 Entity Framework 4 0 开发服务器上一切正常 但是当我到达生产服务器时 我的 Elmah 记录了此错误 系统参数异常使用的SQL Server版本不支持 数据类型 date
  • 为什么 Chrome 会取消 302 下载?

    Edit 在解决了一些可能或可能不会引起问题的问题后 进一步的测试显示受影响的用户无法下载文件 甚至无法直接下载文件 这就提示了这个问题在 Webmasters Stackexchange 上 我接受似乎已经解决了问题的答案 如果这一切都与
  • PHP 无头浏览器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 PHP 有无头浏览器库吗
  • Python:kernel32.CreateProcessA() 它在做什么?

    我目前正在学习调试器以及它们如何停止进程 这是我的代码 from ctypes import WORD c ushort DWORD c ulong LPBYTE POINTER c ubyte LPTSTR POINTER c char
  • Python - YouTube API v3 - 如何仅获取视频ID?

    如何只获取视频的视频ID 据我所知 我应该使用字段来实现这一点 但我不明白它们是如何工作的 我的代码 service build youtube v3 developerKey api key request service search
  • Apache POI 与 Android — 如何创建、读取、写入、删除 PowerPoint 演示文稿? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我必须将 Apache POI API 与 android 一起使用是否可能 Provide me some tutorial links about this 请解释一下这一点 A
  • 如何使 Bootstrap 3 导航栏在所有屏幕尺寸下保持折叠状态

    在 Bootstrap 3 中 我希望所有屏幕尺寸的导航栏默认折叠 我已经发现hereBootstrap 3 是移动优先的 它的导航栏默认是 折叠 的 并且当它达到某个最小尺寸时 展开 在那篇文章之后 我尝试着搞乱 grid float b
  • Android:展开/折叠动画

    假设我有一个垂直的 LinearLayout v1 v2 默认情况下 v1 可见 GONE 我想用展开动画显示 v1 并同时按下 v2 我尝试过这样的事情 Animation a new Animation int initialHeigh
  • python zlib如何解压多个对象

    我尝试在我的文件上写入许多 zlib 块 有没有办法可以从我的文件中获取所有未压缩的内容 从下面的示例代码我只能得到我的第一个数据 预先感谢您的任何意见 Python 3 6 8 Anaconda Inc default Dec 29 20