亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 中來自 AWS S3 的 gzip 文件的內容只返回空字節

Python 中來自 AWS S3 的 gzip 文件的內容只返回空字節

www說 2023-04-11 16:18:27
output.tar.gzAWS Comprehend 已創建一個在 S3 存儲桶中調用的文件。我正在嘗試使用 Python 將此文件加載到內存中并嘗試了以下操作:import boto3from io import BytesIOimport gzips3 = boto3.client("s3")obj = s3.get_object(Bucket=BUCKET, Key=KEY)mycontentzip = gzip.GzipFile(fileobj=BytesIO(obj['Body'].read())).read()lines = mycontentzip.decode("utf-8")我還嘗試了這篇文章中的解決方案,包括不再需要 BytesIO: Reading contents of a gzip file from a AWS S3 in Python我能夠使用這些解決方案返回一個測試文件,該文件不確定.gz我能否正確連接到 S3 存儲桶。在所有嘗試中,返回的是一個僅包含以下內容的文件:00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x...我正在使用 Python=3.7.7 Boto3=1.10.5我還嘗試從 AWS 控制臺手動下載文件。奇怪的是,該文件在 MacOS 10.15.6 中解壓縮為“.jsonl”文件。但是,在 VScode 中以 JSON 形式查看時打開效果很好。還有其他人遇到過這個問題嗎?提前感謝您的任何想法。
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

那是一個 tar.gz 文件,即tar用算法壓縮的存檔gzip。

如果您只是使用 閱讀它gzip.GzipFile(),您仍然有一個需要解釋的二進制 tar 存檔。

使用tarfile模塊讀取它;tar 存檔,如 zips,可以包含多個文件,其中之一就是.jsonl您最終看到的文件。


查看完整回答
反對 回復 2023-04-11
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號