From f6901e909f3badbe1abcd9e38e8de809beae0800 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Fri, 23 May 2008 17:21:44 +0000 Subject: [PATCH] Issue 2909: show how to name unpacked fields. --- Doc/library/struct.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst index e2443aa3950..63bf9b178e2 100644 --- a/Doc/library/struct.rst +++ b/Doc/library/struct.rst @@ -233,6 +233,16 @@ end, assuming longs are aligned on 4-byte boundaries. This only works when native size and alignment are in effect; standard size and alignment does not enforce any alignment. +Unpacked fields can be named by assigning them to variables or by wrapping +the result in a named tuple:: + + >>> record = 'raymond \x32\x12\x08\x01\x08' + >>> name, serialnum, school, gradelevel = unpack('<10sHHb', record) + + >>> from collections import namedtuple + >>> Student = namedtuple('Student', 'name serialnum school gradelevel') + >>> Student._make(unpack('<10sHHb', s)) + Student(name='raymond ', serialnum=4658, school=264, gradelevel=8) .. seealso::