We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 94b2afd commit f3dd9abCopy full SHA for f3dd9ab
shutil/shutil.py
@@ -9,13 +9,20 @@ def rmtree(top):
9
os.rmdir(path)
10
11
def copyfileobj(src, dest, length=512):
12
- buf = bytearray(length)
13
- while True:
14
- sz = src.readinto(buf)
15
- if not sz:
16
- break
17
- if sz == length:
+ if hasattr(src, "readinto"):
+ buf = bytearray(length)
+ while True:
+ sz = src.readinto(buf)
+ if not sz:
+ break
18
+ if sz == length:
19
+ dest.write(buf)
20
+ else:
21
+ b = memoryview(buf)[:sz]
22
+ dest.write(b)
23
24
25
+ buf = src.read(length)
26
+ if not buf:
27
28
dest.write(buf)
- else:
- b = memoryview(buf)[:sz]
- dest.write(b)
0 commit comments