On 26Oct2020 09:45, Chris Angelico <ros...@gmail.com> wrote:
>On Mon, Oct 26, 2020 at 8:44 AM Cameron Simpson <c...@cskk.id.au> wrote:
>> On 24Oct2020 13:37, Dan Sommers <2qdxy4rzwzuui...@potatochowder.com> wrote:
>> >Spaces in filenames are just as bad, and much more common:
>>
>> But much easier to handle in simple text listings, which are newline 
>> delimited.
>> You're really running into a horrible behaviour from xargs, which is one
>> reason why GNU parallel exists.
>
>I don't consider the behaviour horrible, and xargs isn't the only
>thing to do this - other tools can be put into zero-termination mode
>too.

I'm not talking about -print0 and -0, which I merely dislike as a hack
to accomodate badly named filenames, but xargs' non-0 behaviour, which
splits on whitespace. Instead of newlines. That pissed me off enough to
write my own.

[...]
>If you actually DO need to read null-terminated records from a file
>that's too big for memory, it's probably worth just rolling your own
>buffering, reading a chunk at a time and splitting off the interesting
>parts. It's not hugely difficult, and it's a good exercise to do now
>and then.

Aye. That's what my cs.buffer.CornuCopyBuffer class does for me:

    https://pypi.org/project/cs.buffer/

aimed particularly at parsing binary data easily (it takes any iterable
of bytes, and has a few factories to start from a file etc).

Parsing a NUL terminated string from binary data isn't too bad given
such a thing.

Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
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/2G5RBMJYUWKFC7R5CO2VKODKJ2GZPA2H/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to