[Python-ideas] itertools.chunks()
MRAB
python at mrabarnett.plus.com
Sat Apr 6 19:50:23 CEST 2013
On 06/04/2013 13:50, Giampaolo RodolĂ wrote:
> def chunks(total, step):
> assert total >= step
> while total > step:
> yield step;
> total -= step;
> if total:
> yield total
>
Why shouldn't total be less than step?
def chunks(total, step):
while total >= step:
yield step
total -= step
if total > 0:
yield total
>>>> chunks(12, 4)
> [4, 4, 4]
>>>> chunks(13, 4)
> [4, 4, 4, 1]
>
>
> I'm not sure how appropriate "chunks" is as a name for such a function.
> Anyway, I wrote that because in a unit test I had to create a file of
> a precise size, like this:
>
> FILESIZE = (10 * 1024 * 1024) + 423 # 10MB and 423 bytes
> with open(TESTFN, 'wb') as f:
> for csize in chunks(FILESIZE, 262144):
> f.write(b'x' * csize)
>
> Now I wonder, would it make sense to have something like this into
> itertools module?
>
More information about the Python-ideas
mailing list