(source, maxsize)
| 20 | |
| 21 | # (c) Combination of parts into buffers and larger I/O operations |
| 22 | def combine(source, maxsize): |
| 23 | parts = [] |
| 24 | size = 0 |
| 25 | for part in source: |
| 26 | parts.append(part) |
| 27 | size += len(part) |
| 28 | if size > maxsize: |
| 29 | yield ''.join(parts) |
| 30 | parts = [] |
| 31 | size = 0 |
| 32 | yield ''.join(parts) |
| 33 | |
| 34 | for part in combine(sample(), 32768): |
| 35 | sys.stdout.write(part) |