Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何从S3下载并仅打开bzip2的第一个块?_Amazon S3_Bzip2 - Fatal编程技术网

Amazon s3 如何从S3下载并仅打开bzip2的第一个块?

Amazon s3 如何从S3下载并仅打开bzip2的第一个块?,amazon-s3,bzip2,Amazon S3,Bzip2,我在S3上有一个很大的bzip2压缩文件,我只对它的第一行感兴趣。如何在不下载和解压缩整个文件的情况下读取第一行?import boto3 输入io 进口bz2 s3=boto3.resource('s3') s3_object=s3.object(“bucket name”、“path/file.bz2”) f_bz2=s3_object.get(范围=f“bytes=0-100000”)[“Body”].read() io_bz2=io.BytesIO(f_bz2) 行=[] 将bz2.bz

我在S3上有一个很大的bzip2压缩文件,我只对它的第一行感兴趣。如何在不下载和解压缩整个文件的情况下读取第一行?

import boto3
输入io
进口bz2
s3=boto3.resource('s3')
s3_object=s3.object(“bucket name”、“path/file.bz2”)
f_bz2=s3_object.get(范围=f“bytes=0-100000”)[“Body”].read()
io_bz2=io.BytesIO(f_bz2)
行=[]
将bz2.bz2文件(io_bz2,“r”)作为f:
尽管如此:
line.append(f.readline())
bzip2的压缩块大小在100kb到900kb之间。以上代码假定为100kb

最后会引发一个异常:

EOFError: Compressed file ended before the end-of-stream marker was reached