我试图在存储在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函数?
答案 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)