From 42bb8b3987c8be80e97d49ad9476ff1c61c7413b Mon Sep 17 00:00:00 2001 From: Greg Stein Date: Wed, 12 Jul 2000 09:55:30 +0000 Subject: [PATCH] apply patch #100868 from Moshe Zadka: refactor the copying of file data. new: shutil.copyfileobj(fsrc, fdst) --- Lib/shutil.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Lib/shutil.py b/Lib/shutil.py index 88abd1095c0..dfde2361369 100644 --- a/Lib/shutil.py +++ b/Lib/shutil.py @@ -9,6 +9,15 @@ import sys import stat +def copyfileobj(fsrc, fdst, length=16*1024): + """copy data from file-like object fsrc to file-like object fdst""" + while 1: + buf = fsrc.read(length) + if not buf: + break + fdst.write(buf) + + def copyfile(src, dst): """Copy data from src to dst""" fsrc = None @@ -16,11 +25,7 @@ def copyfile(src, dst): try: fsrc = open(src, 'rb') fdst = open(dst, 'wb') - while 1: - buf = fsrc.read(16*1024) - if not buf: - break - fdst.write(buf) + copyfileobj(fsrc, fdst) finally: if fdst: fdst.close()