是否可以使用boto3的readlines?

时间:2018-01-17 17:30:18

标签: python amazon-s3

我试图在存储在S3中的两个文件上运行差异,并希望尽可能避免下载文件。

我正在使用的示例代码如下:

import difflib

file1 = open('sample1.csv', 'r');
file2 = open('sample2.csv', 'r');

diff = difflib.ndiff(file1.readlines(), file2.readlines())

我看到boto3包,我可以从S3打开文件,但是如何将等效的file1.readlines()和file2.readlines()传递给ndiff函数?

1 个答案:

答案 0 :(得分:0)

对于未来的读者,我会回答确切的问题“是否可以使用带有boto3的readlines?”

c = chr(code)
return c if c in chars else "wat"

正如对该问题的评论所表明的那样,readlines()将所有东西都拉入内存,这就是为什么你可以向它传递一个提示所以“如果所有行的总大小(以字节/字符为单位),将不再读取行到目前为止超过暗示。“ (https://docs.python.org/2/library/io.html#io.IOBase.readlines