当我从 aws s3 获取文件时,我得到的格式如下:
b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Run Code Online (Sandbox Code Playgroud)
这到底是什么?
此外,当获取数据 -unzip - 上传回 s3 时,可以使用以下命令来完成:
s3 = boto3.client('s3', use_ssl=False)
s3.upload_fileobj(
Fileobj = gzip.GzipFile(
None,
'rb',
fileobj=BytesIO(s3.get_object(Bucket=bucket, Key=gzipped_key)['Body'].read())),
Bucket=bucket,
Key=uncompressed_key)
Run Code Online (Sandbox Code Playgroud)
b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00'
当我运行s3.get_object(Bucket=bucket)
线路时我明白了,但为什么要把它绕起来BytesIO
呢?
这到底是什么?
[0x1f, 0x8b, 0x08]
是文件的标头gzip
。我建议您运行它或使用类似检查其内容之gzip
类的方式打开它。7zip
字节IO怎么样?
好问题。不幸的是,这个问题中没有足够的信息来给你一个简洁的答案。如果您想要一篇 5000 字的文章BytesIO
以及它是如何运作的,我很乐意效劳,但这可能不是合适的地方:-)
更严肃地说,您可能想将您的兴趣领域缩小到更具体的范围。此外,将问题限制为一个问题通常是个好主意,因为这使得 StackOverflow 更易于搜索/管理。
归档时间: |
|
查看次数: |
7874 次 |
最近记录: |