refactor the copying of file data. new: shutil.copyfileobj(fsrc, fdst)
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
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()