使用Python boto在s3中存储文件

时间:2015-01-26 19:51:07

标签: python file amazon-s3 boto

我有一个dicts列表(例如[{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]),我希望使用Python boto包将其存储在s3中。

一种方法是遍历列表,写入文件对象f,这样f的每一行都是一个json对象。然后我可以使用key.set_contents_from_file(f)。这是正确/最好的方式吗?

似乎写入本地文件是不必要的中间步骤,但我不确定。

1 个答案:

答案 0 :(得分:2)

要跳过写入文件步骤,您可以使用key.set_contents_from_string(str)直接输出您的dicts值。

请参阅:http://boto.readthedocs.org/en/latest/ref/s3.html#module-boto.s3.key

set_contents_from_string的CTRL + F)

另一种迂回方式(避免写入磁盘)将使用set_contents_from_stream,并创建一个内存中的“文件”(使用StringIO等),然后传递给该函数。