【发布时间】:2016-03-03 03:51:05
【问题描述】:
我正在尝试使用boto 打开我在s3 中的.zip 文件。我正在尝试直接处理数据,我想避免创建临时文件。
In [201]: import StringIO
In [202]: import boto
In [203]: conn = boto.connect_s3()
In [204]: my_bucket = conn.get_bucket('my_bucket')
In [205]: my_list = [ele for ele in my_bucket.list('my_file.zip')]
In [206]: f = StringIO.StringIO()
In [207]: my_list[0].get_file(f)
In [208]: f.seek(0)
如果文件没有被压缩,我会使用:
my_content = my_list[0].get_contents_as_string()
但由于它是压缩的,所以我得到了垃圾。
An answer to this question 使用gzip 做我想做的事(我从中借了一点尝试),但我找不到任何使用zip 的东西。我尝试使用zipfileZipFile,但read、extract 和extractall 方法似乎没有达到我想要的效果。
【问题讨论】: