2016-09-07 20 views
0

Google Cloud StorageのストレージプールWeb UIからバケットに格納されたGZIPファイルをダウンロードすると、すべてうまくいって問題なくファイルを解凍できます。Google Cloud StorageからダウンロードしたGZIPファイルが壊れています

しかし、私はファイルをダウンロードするためにPythonでgoogleapiclientを使用すると、私はそれを解凍することはできません。 7-Zipはファイルが壊れていると言います。 マイコード:

import io 
from apiclient.http import MediaIoBaseDownload 
from googleapiclient import http 
bucket='bqtoredshiftdaily' 

out_file=os.path.join(current_dir,process_name,"Upload",gcsfile.replace("/", "_")) 

with open(out_file, 'w') as f: 

    req = gcs_service.objects().get_media(bucket=bucket, object=gcsfile) 

    downloader = http.MediaIoBaseDownload(f, req) 

    done = False 
    while done is False: 
     status, done = downloader.next_chunk() 
     print("Download {}%.".format(int(status.progress() * 100))) 

ダウンロードが成功したが、私が言ったように、私はダウンロードしたGZIPファイルを解凍することはできません。 理由は何ですか?

答えて

1

私はバイナリに出力ファイルを変更し、それを解決:

with open(out_file, 'wb') as f: 

の代わり:

with open(out_file, 'w') as f: 
関連する問題