[Python-ideas] Ideas for improving the struct module

Steven D'Aprano steve at pearwood.info
Thu Jan 19 19:30:38 EST 2017


On Thu, Jan 19, 2017 at 08:31:03AM +0000, Mark Dickinson wrote:
> On Thu, Jan 19, 2017 at 1:27 AM, Steven D'Aprano <steve at pearwood.info> wrote:
> > [...] struct already supports
> > variable-width formats.
> 
> Unfortunately, that's not really true: the Pascal strings it supports
> are in some sense variable length, but are stored in a fixed-width
> field. The internals of the struct module rely on each field starting
> at a fixed offset, computable directly from the format string. I don't
> think variable-length fields would be a good fit for the current
> design of the struct module.

I know nothing and care even less (is caring a negative amount 
possible?) about the internal implementation of the struct module. Since 
Elizabeth is volunteering to do the work to make it work, will it be 
accepted?

Subject to the usual code quality reviews, contributor agreement, etc.

Are there objections to the *idea* of adding support for null terminated 
strings to the struct module? Does it require a PEP just to add one more 
format code? (Maybe it will, if the format code requires a complete 
re-write of the entire module.)

It seems to me that if Elizabeth is willing to do the work, and somebody 
to review it, this would be a welcome addition to the module. It would 
require at least one API change: struct.calcsize won't work for formats 
containing null-terminated strings. But that's a minor matter.


-- 
Steve


More information about the Python-ideas mailing list