python中struct.unpack的用法

python中struct.unpack的用法

4/25/2009 12:18:21 PM

Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的。
     
1. 设置fomat格式,如下:        

#
取前5个字符, 跳过4个字符华, 再取3个字符
format = '5s 4x 3s'

2. 使用struck.unpack获取子字符串
     

 import struct
 print struct.unpack(format, 'Test astring')
#('Test', 'ing')

来个简单的例子吧,有一个字符串’He is not very happy’,处理一下,把中间的not去掉,然后再输出。
     

 import struct
 theString = He is not very happy '
 format = '2s 1x 2s 5x 4s 1x 5s '
 print ' '.join(struct.unpack(format, theString))

输出结果:
     
He is very happy

利用unpack(),读入一个bin文件,rawstring是一个str型的字串:

rawfile = open(“lcd.raw”,”rb”)
     
rawstring = rawfile.read()

rawdata = struct.unpack(len(rawstring)*’B’,rawstring)

在此处将rawstring转成Byte型数据得到一个rawdata的元组进行处理。

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   long (1)
 f    float   float
 d    double   float
 s    char[]   string
 p    char[]   string
 P    void *   integer

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容