> I was wondering if there would be any interest in extending the > struct.unpack format notation to be able to express groups of data > with parenthesis. > > For example: > > >>> data = struct.pack('iiii', 1, 2, 3, 4) > >>> struct.unpack('i(ii)i', data) # Note the parentheses > (1, (2, 3), 4) > > Use Case: I have a program written in C that contains a bunch of > aggregate data structures (arrays of structs, structs containing > arrays, etc.) and I'm transmitting these structures over a socket > connection to a Python program that then unpacks the data using the > struct module. Problem is that I have to unpack the incoming data as > a flat sequence of data elements, and then repartition the sequence > into nested sequences to better reflect how the data is structured in > the C program. It would be more convenient to express these groupings > as I'm unpacking the raw data. > > I'm sure there are plenty of other use cases for such a feature. This is a reasonable suggestion. You should also be able to write things like '4(ii)' which would be equivalent to '(ii)(ii)(ii)(ii)'. Please use SourceForge to upload a patch. Without a patch nobody is going to be interested though, I suspect, so don't wait for someone else to implement this. --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4