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)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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