Hi, Currently shutil.copyfileobj returns nothing. I would like to be able to find out how many bytes were copied.
Whilst most file-like objects have a .tell() which you could use, some don’t, and .tell() is not guaranteed to measure the number of bytes, it could measure with other units. I don’t think changing the return value from None to not-None would be backwards incompatible. We could also do the same change for all other shutil.copy* methods (except copytree). Looking at the code, this seems straightforward to implement. Existing code: ``` def copyfileobj(fsrc, fdst, length=0): """copy data from file-like object fsrc to file-like object fdst""" # Localize variable access to minimize overhead. if not length: length = COPY_BUFSIZE fsrc_read = fsrc.read fdst_write = fdst.write while True: buf = fsrc_read(length) if not buf: break fdst_write(buf) ``` New code: ``` def copyfileobj(fsrc, fdst, length=0): """copy data from file-like object fsrc to file-like object fdst""" # Localize variable access to minimize overhead. if not length: length = COPY_BUFSIZE fsrc_read = fsrc.read fdst_write = fdst.write bytes_copied = 0 while True: buf = fsrc_read(length) if not buf: break fdst_write(buf) bytes_copied += len(buf) return bytes_copied ``` Regards, Matt Matthew Davis Data Analytics Senior Lead Telstra Energy – Decision Science & AI E: matthew.davi...@team.telstra.com<mailto:matthew.davi...@team.telstra.com> | M: 0415762868
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/ZKVI4DE7RLYQNLV3XYUUW24FOO57WB5P/ Code of Conduct: http://python.org/psf/codeofconduct/