python中zip_python中zip和unzip数据的方法

本文通过实例展示了如何使用Python的zlib模块实现字符串的压缩和解压,包括计算CRC校验码,演示了文件操作和数据处理的高效性。适合提高Python编程中数据压缩技巧。

本文实例讲述了python zip和unzip数据的方法。分享给大家供大家参考。具体实现方法如下: # zipping and unzipping a string using the zlib module

# a very large string could be zipped and saved to a file speeding up file writing time

# and later reloaded and unzipped by another program speeding up reading of the file

# tested with Python24 vegaseat 15aug2005

import zlib

str1 = \

"""Dallas Cowboys football practice at Valley Ranch was delayed on Wednesday

for nearly two hours. One of the players, while on his way to the locker

room happened to look down and notice a suspicious looking, unknown white

powdery substance on the practice field.

The coaching staff immediately suspended practice while the FBI was

called in to investigate. After a complete field analysis, the FBI

determined that the white substance unknown to the players was the goal

line.

Practice was resumed when FBI Special Agents decided that the team would not

be likely to encounter the substance again.

"""

print '-'*70 # 70 dashes for the fun of it

print str1

print '-'*70

crc_check1 = zlib.crc32(str1)

print "crc before zip=", crc_check1

print "Length of original str1 =", len(str1)

# zip compress the string

zstr1 = zlib.compress(str1)

print "Length of zipped str1 =", len(zstr1)

filename = 'Dallas.zap'

# write the zipped string to a file

fout = open(filename, 'w')

try:

print >> fout, zstr1

except IOError:

print "Failed to open file..."

else:

print "done writing", filename

fout.close()

# read the zip file back

fin = open(filename, 'r')

try:

zstr2 = fin.read()

except IOError:

print "Failed to open file..."

else:

print "done reading", filename

fin.close()

# unzip the zipped string from the file

str2 = zlib.decompress(zstr2)

print '-'*70

print str2

print '-'*70

crc_check2 = zlib.crc32(str2)

print "crc after unzip =", crc_check2, "(check sums should match)"

希望本文所述对大家的Python程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值