что такое формат файла, который выглядит как b '\ x1f \ x8b \ .....' - PullRequest
2 голосов
/ 25 октября 2019

Когда я получаю файл из aws s3, я получаю его в следующем формате:

b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Что именно это такое?

Также при получении данных -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)

Я получаю 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?

1 Ответ

4 голосов
/ 25 октября 2019

Что именно это?

[0x1f, 0x8b, 0x08] - заголовок файла gzip. Я предлагаю вам запустить его через gzip или открыть что-то вроде 7zip, чтобы проверить его содержимое.

А как насчет BytesIO?

Хороший вопрос. К сожалению, почти недостаточно информации в этом вопросе, чтобы дать вам краткий ответ. Если бы вы хотели сочинение на 5000 слов о BytesIO и о том, как все это работает, я был бы рад сделать это, но, вероятно, это не то место: -)


Вкл. более серьезное замечание, вы можете сузить область интересов до чего-то более конкретного. Кроме того, обычно рекомендуется ограничить вопросы одним вопросом, поскольку это значительно упрощает поиск и управление StackOverflow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...