我可以从AWS S3密钥创建python可迭代对象吗?

时间:2015-03-18 18:13:20

标签: python amazon-s3 key iterable

我正在尝试使用处理来自可迭代对象的数据的第三方实用程序,例如队列或文件。我需要通过此实用程序推送一堆AWS S3文件。每一个都是一个包含JSON消息的文本文件,每行一条完整的消息。

一种方法是使用key.get_contents_to_filename()制作每个文件的本地副本,然后打开本地文件进行读取并将文件对象传递给实用程序,然后在完成后删除本地副本。但我试图避免在本地下载文件,而是宁愿直接从S3读取。是否可以直接从S3键创建可迭代对象?

1 个答案:

答案 0 :(得分:0)

有一种key.get_contents_as_string方法可能 加载到io.StringIOio.BytesIO

>>> import io
>>> bt = io.BytesIO('abc\ndef\nghi')
>>> st = io.StringIO(u'abc\ndef\nghi')
>>> for thing in st:
        print thing


abc

def

ghi
>>> for thing in bt:
        print thing


abc

def

ghi
>>>