python bz2模块

python bz2模块单次压缩和解压缩单次压缩(bz2.compress)In[40]:compressStr=’usebz2moduletocompressstring’In[41]:bz2.compress(compressStr,6)Out[41]:’BZh61AY&SY\xa5i\x9c”\x00\x00\x0f\x99\x80@\x00\x10\x00\x1e\xa7\xde\x

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

单次压缩和解压缩

  • 单次压缩(bz2.compress)
In [40]: compressStr = 'use bz2 module to compress string'
In [41]: bz2.compress(compressStr,6)
Out[41]: 'BZh61AY&SY\xa5i\x9c"\x00\x00\x0f\x99\x80@\x00\x10\x00\x1e\xa7\xde\x10 \x001M2111\x08\x9ai\xa0h\xf56\xa3\xc3\x06.\x8fh\xf0S{\x83!KF{\xa4i\'\xe2\xeeH\xa7\n\x12\x14\xad3\x84@'
In [42]:
  • 单次解压缩(bz2.decompress)
In [43]: bz2.decompress('BZh61AY&SY\xa5i\x9c"\x00\x00\x0f\x99\x80@\x00\x10\x00\x1e\xa7\xde\x10 \x001M2111\x08\x9ai\xa0h\xf56\xa3\xc3\x06.\x8fh\xf0S{\x83!KF{\xa4i\'\xe2\xeeH\xa7\n\x12\x14\xad3\x84@')
Out[43]: 'use bz2 module to compress string'
In [44]:

创建一个bz2压缩文件

从字符串创建一个bz2压缩文件

#!/usr/bin/env python
import bz2
import os

linesep = os.linesep
compressStr = 'use bz2 module to compress string'
compressFilename = r'/tmp/test.bz2'

f = bz2.BZ2File(compressFilename, 'w', compresslevel=6)
f.write('%s%s' % (compressStr,linesep))

f.close()

测试

[root@control tmp]# python 1.py
[root@control tmp]# ls -l /tmp/test.bz2
-rw-r--r-- 1 root root 71 Jul 26 08:56 /tmp/test.bz2
[root@control tmp]# bzcat /tmp/test.bz2
use bz2 module to compress string
[root@control tmp]#

从一个文件创建bz2压缩文件

#!/usr/bin/env python
import bz2
import os

linesep = os.linesep
compressFilename = r'/tmp/test2.bz2'
compressFromFile = r'/etc/issue'

compressIn = open(compressFromFile, 'r')
compressOut = bz2.BZ2File(compressFilename, 'w', compresslevel=6)
compressOut.writelines(compressIn)

compressOut.close()
compressIn.close()

测试

[root@control tmp]# python 2.py
[root@control tmp]# ls -l /tmp/test2.bz2
-rw-r--r-- 1 root root 90 Jul 26 09:04 /tmp/test2.bz2
[root@control tmp]# bzcat /tmp/test2.bz2
CentOS release 6.5 (Final)
Kernel \r on an \m

[root@control tmp]#

使用shutil模块的copyfileobj方法实现类文件对象复制

#!/usr/bin/env python
import bz2
import shutil

compressFilename = r'/tmp/test3.bz2'
compressFromFile = r'/etc/issue'

compressIn = open(compressFromFile, 'r')
compressOut = bz2.BZ2File(compressFilename, 'w', compresslevel=6)

shutil.copyfileobj(compressIn, compressOut)

compressOut.close()
compressIn.close()

测试

[root@control tmp]# python 3.py
[root@control tmp]# ls -l /tmp/test3.bz2
-rw-r--r-- 1 root root 90 Jul 26 09:22 /tmp/test3.bz2
[root@control tmp]# bzcat /tmp/test3.bz2
CentOS release 6.5 (Final)
Kernel \r on an \m

[root@control tmp]#

查看bz2压缩文件的内容

#!/usr/bin/env python
import bz2

compressFilename = r'/tmp/test3.bz2'

f = bz2.BZ2File(compressFilename, 'r')

for eachLine in f:
    print eachLine,

f.close()

测试

[root@control tmp]# python 4.py
CentOS release 6.5 (Final)
Kernel \r on an \m

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

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

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


相关推荐

  • 高效沟通的秘诀_请你说说对沟通视窗的理解

    高效沟通的秘诀_请你说说对沟通视窗的理解最近听了樊登老师在混沌讲领导力,其中印象最深刻的就是沟通视窗。后来我发现把它用在沟通方面会更有效。我们常常困惑于如何与他人沟通,也会因彼此不能深入了解而大伤脑筋。今天我就介绍一个好用的思维模型,它涵盖

    2022年8月3日
    2
  • Mac OSX 上安装yarn

    Mac OSX 上安装yarn最近研究东西,需要yarn这个东西按照npm仓库上npmi-gyarn//直接全局安装 但Terminal上输入:yarn–version显示这个:这是因为环境变量中没有yarn,需要设置下第一步:touch~/.bash_profile//touch的意思是没有就创建;.bash_profile这是系统临时的环境变量,第二步:op…

    2022年5月26日
    40
  • html5 a标签去下划线,css中如何去掉a标签的下划线?[通俗易懂]

    html5 a标签去下划线,css中如何去掉a标签的下划线?[通俗易懂]我们在HTML网页制作过程中,相信大家对css文本超链接这个概念并不陌生。我们都知道想要给某段文本或者指定元素添加一个锚点也就是超链接需要用到HTML中的a标签。那么有的新手可能就会发现,在使用a标签时文本超链接会自动出现下划线!从视觉美观上来说枯燥单调的文本超链接显示显然并不好看。那么该如何去掉a标签的下划线呢?下面我们来看一下css去掉a标签下划线的方法。本篇文章就给大家详细讲讲怎么去掉css…

    2022年5月2日
    58
  • [乐意黎原创] 百度统计这个坑爹货

    [乐意黎原创] 百度统计这个坑爹货

    2022年1月24日
    49
  • Python遗传和进化算法框架(一)Geatpy快速入门[通俗易懂]

    Python遗传和进化算法框架(一)Geatpy快速入门[通俗易懂]Geatpy是一个高性能实用型的Python遗传算法工具箱,提供一个面向对象的进化算法框架,经过全面改版后,新版Geatpy2目前由华南农业大学、暨南大学、华南理工等本硕博学生联合团队开发及维护。Website(includingdocumentation):http://www.geatpy.com Demo:https://github.com/geatpy-dev/geatp…

    2022年5月19日
    58
  • mapGetters 辅助函数「建议收藏」

    mapGetters 辅助函数「建议收藏」1:mapGetters:辅助函数mapGetters:辅助函数mapGetters:辅助函数仅仅将store中的getter映射到局部计算属性:1:import{mapGetters}from’vuex’2:exportdefault{computer:{//使用对象展开运算符将getter混入computer对象中…mapGetters([‘getMachin…

    2022年5月2日
    118

发表回复

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

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