On 17/11/11 14:55, Prasad, Ramit wrote:
It means that no need to use the 'Struct' module for binary file read,
right?
Its not necessary but if the data does not already have a file handling
module then the struct module is a very convenient way of accessing the
data.
It really depends on your file. The struct module says, "This module
performs conversions between Python values and C structs represented
as Python strings." If your file is not a C-struct data then no need
to use the struct module.
No *need* but, often convenient, regardless of whether the data was
written by a C struct or not.(*) It is a way to interpret binary data in
terms of fundamental data types such as ints, floats, strings etc.
Trying to convert raw bytes representing floats into a floating point
number without using struct would be an interesting exercise. Using
struct it's trivial.
Struct works with any kind of basic binary data provided you know what
the byte sequence represents. Where it breaks down is when it represents
more complex concepts like references to objects and even graphical
bitmaps etc. That's where dedicated file handling modules
come into play.
(*)The struct docs acknowledge this with the following comment:
"To handle platform-independent data formats or omit implicit pad bytes,
use standard size and alignment instead of native size and alignment:
see Byte Order, Size, and Alignment for details."
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor