Read files in chunks

Calling `f.read()` would read the entire file at once which is
wasteful. It's also not intended given the read loop.

Also replace a use of `readline()` with `read(65536)` as well where we
want to read the entire file and not only single lines.
上级 677bb8a7
...@@ -107,7 +107,7 @@ def smartopen(file): ...@@ -107,7 +107,7 @@ def smartopen(file):
def pipe_file(f, t): def pipe_file(f, t):
f.seek(0) f.seek(0)
while 1: while 1:
l = f.read() l = f.read(65536)
if not l: break if not l: break
t.write(l) t.write(l)
t.close() t.close()
...@@ -243,7 +243,7 @@ class Updates: ...@@ -243,7 +243,7 @@ class Updates:
def create_temp_file(r): def create_temp_file(r):
f = tempfile.TemporaryFile() f = tempfile.TemporaryFile()
while 1: while 1:
x = r.readline() x = r.read(65536)
if not x: break if not x: break
f.write(x) f.write(x)
r.close() r.close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册