如何在gae云上打开gzip文件?

问题描述

I am using python 2.7 and Google Compute Cloud. I want to process a gzip file uploaded to the gcs datastore. On Python, this would be:

import gzip
with gzip.open('myfile.gz', 'r') as f:
    f.read()

Since this does is not allowed on GCS, the only option I found on Google Cloud Storage Client Library Functions, is:

import cloudstorage
cloudstorage.open('myfile.gz', 'r'):
    f.read()

which does not open gzip files. Any tips on how I can do this?

解决方案

You can use the alternate gzip.GzipFile() access via a file object, using the file object provided by the GCS client lib:

import cloudstorage
import gzip

with cloudstorage.open('myfile.gz', 'r') as f:
    content = gzip.GzipFile(fileobj=f).read()

相关文章