Because working software> full documentation :
Bot2
import zipfile
import boto
import io
conn = boto.s3.connect_s3()
bucket = conn.get_bucket("my_bucket_name")
key = boto.s3.key.Key(bucket)
key.key = "my_s3_object_key"
with io.BytesIO() as b:
key.get_file(b)
b.seek(0)
with zipfile.ZipFile(b, mode='r') as zipf:
for subfile in zipf.namelist():
do_stuff_with_subfile()
Bot3
import zipfile
import boto3
import io
session = boto3.session.Session(
aws_access_key_id="ACCESSKEY",
aws_secret_access_key="SECRETKEY"
)
s3 = session.resource("s3")
bucket = s3.Bucket('stackoverflow-brice-test')
obj = bucket.Object('smsspamcollection.zip')
with io.BytesIO(obj.get()["Body"].read()) as tf:
tf.seek(0)
with zipfile.ZipFile(tf, mode='r') as zipf:
for subfile in zipf.namelist():
print(subfile)
Tested on MacOSX with Python3.
brice source
share