Usage of struct. Unpack in Python 4/25/2009 12:18:21
In python, the sub-string in a string is extracted in a certain format. It is very efficient to use struck. Unpack. 1. Set the fomat format as follows: # Take the first five characters, skip the 4-character period, and then take 3 Characters Format = '5s 4x 3s'2. Use struck. Unpack to obtain the sub-string import struct Print struct. Unpack (format, 'test astring ') # ('Test', 'in ') Let's take a simple example. There is a string 'He is not very happy '. After processing it, remove the not in the middle and then output it. Import struct Thestring = 'He is not very happy' Format = '2s 1X2 S 5x 4S 1x 5s' Print ''. Join (struct. Unpack (format, thestring )) Output result: He is very happy reads a binfile using unpack (). rawstring is a STR string: rawfile = open ("LCD. Raw", "rb ") Rawstring = rawfile. Read () rawdata = struct. Unpack (LEN (rawstring) * 'B', rawstring) |
Convert rawstring to byte type data to obtain a rawdata tuples for processing.
| Format |
C type |
Python |
Notes |
| X |
Pad byte |
No value |
|
| C |
Char |
String of length 1 |
|
| B |
Signed Char |
Integer |
|
| B |
Unsigned char |
Integer |
|
| H |
Short |
Integer |
|
| H |
Unsigned short |
Integer |
|
| I |
Int |
Integer |
|
| I |
Unsigned int |
Long |
|
| L |
Long |
Integer |
|
| L |
Unsigned long |
Long |
|
| Q |
Long long |
Long |
(1) |
| Q |
Unsigned long |
Long |
(1) |
| F |
Float |
Float |
|
| D |
Double |
Float |
|
| S |
Char [] |
String |
|
| P |
Char [] |
String |
|
| P |
Void * |
Integer |
|