python解压bz2文件命令_解压缩bz2文件

python解压bz2文件命令_解压缩bz2文件bz2.compress/decompress使用二进制数据:>>>importbz2>>>compressed=bz2.compress(b’test_string’)>>>compressedb’BZh91AY&SYJ|i\x05\x00\x00\x04\x83\x80\x00\x00\x82\xa1\x1c\x00\…

大家好,又见面了,我是你们的朋友全栈君。

bz2.compress/decompress使用二进制数据:>>> import bz2

>>> compressed = bz2.compress(b’test_string’)

>>> compressed

b’BZh91AY&SYJ|i\x05\x00\x00\x04\x83\x80\x00\x00\x82\xa1\x1c\x00 \x00″\x03h\x840″

P\xdf\x04\x99\xe2\xeeH\xa7\n\x12\tO\x8d \xa0′

>>> bz2.decompress(compressed)

b’test_string’

简而言之-您需要手动处理文件内容。如果您有非常大的文件,您应该使用bz2.BZ2Decompressor而不是bz2.decompress,因为后者要求您将整个文件存储在字节数组中。for filename in files:

filepath = os.path.join(dirpath, filename)

newfilepath = os.path.join(dirpath,filename + ‘.decompressed’)

with open(newfilepath, ‘wb’) as new_file, open(filepath, ‘rb’) as file:

decompressor = BZ2Decompressor()

for data in iter(lambda : file.read(100 * 1024), b”):

new_file.write(decompressor.decompress(data))

您还可以使用bz2.BZ2File来简化此过程:for filename in files:

filepath = os.path.join(dirpath, filename)

newfilepath = os.path.join(dirpath, filename + ‘.decompressed’)

with open(newfilepath, ‘wb’) as new_file, bz2.BZ2File(filepath, ‘rb’) as file:

for data in iter(lambda : file.read(100 * 1024), b”):

new_file.write(data)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135032.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java如何定义全局变量_全局变量的默认值

    Java如何定义全局变量_全局变量的默认值有时一个项目中会多处涉及到路径,当你把这个项目移植到别的电脑上时就要一一修改这些路径,过程十分繁琐,所以一个全局变量在这时是必不可少的。遗憾的是java等oo语言并没有全局变量,这怎么办呢?下面介绍一种方法:新建一个类,包含静态属性,如下所示:publicclassVariable{/***包含项目所有的静态全局变量,项目中运行程序需要改路径时,只需修改该处变量即可*/publicstat…

    2022年8月21日
    4
  • VBoxManage安装

    VBoxManage安装扩展包的版本需要与VirtualBox的版本一致,通过帮助可以查看VirtualBox的版本信息,然后在http://download.virtualbox.org/virtualbox/寻找对应的版本。接下来执行安装命令[root@root下载]#VBoxManageextpackinstall./Oracle_VM_VirtualBox_Extension_Pack…

    2022年6月11日
    50
  • 解决Ubuntu系统下启动root账户后Linux版本edge浏览器无法启动

    解决Ubuntu系统下启动root账户后Linux版本edge浏览器无法启动最近安装了Ubuntu双系统,原本在Windows上使用的是edge浏览器,没想到edge还有Linux的dev版本,兴高采烈的安装后发现root用户正常启动edge,这里记录下解决办法。ps:笔者系统为Ubuntu18.04.5编辑/usr/bin/microsoft-edge文件gedit/usr/bin/microsoft-edge在最后一行的启动命令:exec-a”$0″”$HERE/msedge””$@”后添加`–user-data-dir–no-sandboxexe

    2022年7月21日
    10
  • navicat15永久激活码最新【中文破解版】[通俗易懂]

    (navicat15永久激活码最新)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~V…

    2022年3月22日
    91
  • windows django安装

    windows django安装

    2021年9月13日
    63
  • 全局负载均衡(GSLB)的实现方案

    全局负载均衡(GSLB)的实现方案WhatisGSLBGlobalServerLoadBalancing中文:全局负载均衡SLB(Serverloadbalancing)是对集群内物理主机的负载均衡,而GSLB是对物理集群的负载均衡。这里的负载均衡可能不只是简单的流量均匀分配,而是会根据策略的不同实现不同场景的应用交付。GSLB是依赖于用户和实际部署环境的互联网资源分发技术,不同的目的对应着一系列不…

    2022年4月28日
    115

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号