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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab h5文件_matlab读取二进制文件

    matlab h5文件_matlab读取二进制文件1、把两个h5文件合并为一个。h5Splicing(h5NameSou,‘/’,h5NameDst,cellNum,1);functionh5Splicing(singleCellFileName,currentGroupName,multiCellsFileName,currentCellName,upDown)info=h5info(singleCellFil…

    2025年10月11日
    5
  • 我所喜欢的Drupal教程及资源

    我所喜欢的Drupal教程及资源本文转载于http://www.sayblog.me/the-drupal-tutorials-and-resourcesthat-i-like.html  Drupal是一个免费开源的内容管理系统(CMS),就跟Wordpress一样,不过要比Wordpress更具威力,也更复杂一些。Wordpress已经做得相当好了,甚至可以说已经很完美了,而且简单易用,所以它的用户比Dru

    2022年6月14日
    25
  • Zabbix 监控 java 应用

    Zabbix 监控 java 应用监控tomcat主机的可用性有这些,zbx代表zabbix,snmp多用于监控windows的东西,jmx通常用于监控java的应用,比如tomcat。我们在server2上配置tomcat。rpm-ivhjdk-8u121-linux-x64.rpmtarzxfapache-tomcat-8.5.24.tar.gz-C/usr/local/ln-sapache-tomcat-8.5.24tomcat方便使用更改配置文件:vim/usr/local/to

    2022年5月13日
    47
  • systick的使用方法_cleardevice函数

    systick的使用方法_cleardevice函数systick的原理前一篇博文有介绍,简而言之就是SysTick定时器是一个24位的倒计数,当倒计数为0时,将从RELOAD寄存器中取值作为定时器的初始值,同时可以选择在这个时候产生中断(异常号:15

    2022年8月6日
    7
  • 阻止中文输入时触发input事件

    阻止中文输入时触发input事件做限制输入框可输入最大的长度和实时匹配输入框数据时遇到了坑——当中文输入时input事件也会被触发,即假设限制的是2个字符,你要输入社会人的“社(she)”,就会直接被截取,输入框填充文本sh。或者是在中文输入法时也会一直去调接口,匹配数据,影响了页面的性能!代码如下:$(document).on(‘input’,’input’,function(){console.log(‘限制…

    2022年5月24日
    37
  • Autoencoder自动编码器的发展

    Autoencoder自动编码器的发展Autoencoder自动编码器的发展0、玻尔兹曼机中的测试实验——编码问题(1985)0.1、玻尔兹曼机0.2、受限的玻尔兹曼机0.3、编码问题——自动编码器雏形1、反向传播中的仿真——单层自动编码器(1986)2、利用神经网络进行数据降维——深度自动编码器(2006)3、去噪自编码器(2008)4、稀疏自编码器(2011)5、卷积自编码器(2011)6、变分自编码器(2013)6.1、模型6….

    2022年5月1日
    49

发表回复

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

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