Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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
Python 看起来像b'\x1f\x8b\..的文件格式到底是什么_Python_File - Fatal编程技术网

Python 看起来像b'\x1f\x8b\..的文件格式到底是什么

Python 看起来像b'\x1f\x8b\..的文件格式到底是什么,python,file,Python,File,当我从aws s3获得文件时,我得到的格式如下: b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00' 这到底是什么 另外,当获取数据-解压-上传回s3时,可以使用以下方法完成: s3 = boto3.client('s3', use_ssl=False) s3.upload_fileobj( Fileobj = gzip.GzipFile( Non

当我从aws s3获得文件时,我得到的格式如下:

b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00'
这到底是什么

另外,当获取数据-解压-上传回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)
我在运行s3时得到了b'\x1f\x8b\x08\x00\x0e@\xfd[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00]但为什么要用BytesIO来包装它呢

这到底是什么

[0x1f,0x8b,0x08]是gzip文件的头文件。我建议您通过gzip运行它,或者用类似7zip的东西打开它来检查它的内容

比特西奥呢

好问题。不幸的是,这个问题中没有足够的信息给你一个简洁的答案。如果你想要一篇关于BytesIO的5000字的文章,以及它是如何运作的,我很乐意为你效劳,但这可能不是合适的地方:-


更严肃地说,你可能想把你感兴趣的领域缩小到更具体的一点。此外,将问题限制在一个问题上通常是个好主意,因为这会使StackOverflow更容易搜索/管理。

@Sid哪一部分不清楚…?我想说BytesIO呢?有点不清楚。不清楚对我来说,这与这个问题有什么关系。我不确定你的意思是我如何使用BytesIO创建这样的输出?或者这可能是使用BytesIO创建的?或者其他什么东西。也许值得评论一下你是如何知道这一点的。我是通过执行echo-e'\x1f\x8b\x08\x00\x0e@\xfd发现的[\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'|文件-在linux上,从Unix输出/dev/stdin:gzip压缩数据,最后修改时间:2018年11月27日星期二21:01:02。当我使用gzip.openfile打开时,“rt”,encoding='utf-8给我的是无法解码字节的utf-8。我如何打开以查看您用rb打开的原始文件,然后显然没有编码关键字。如果没有b,你是说我希望这是一个特定的编码UTF-8的文本,如果你不说哪一个。也许这是你需要停下来阅读的时候,也许更接近你立即需要的,实际上。