Python 读取GIST Data Set(二)
2016-06-11 10:05
726 查看
摘取自:http://www.cnblogs.com/gala/archive/2011/09/22/2184801.html
以读取GIST SIFT数据集为目的对原文进行了摘选和修改:
对struct.unpack_from('<I'
, Buffer , index)中重要参数'<I' 进行说明:
struct支持以下格式:
对于Matlab中的Uint8数据类型,可以替换为unsigned char.
struct根据本地机器字节顺序转换(Big-endian, Little-endian).可以用格式中的第一个字符来改变对齐方式.
定义如下:
E.g:
'<IIII'
小端方式读入连续16字节,解析为4个Python中4字节整形数据类型.
'>I6f7BI'
大端方式读入连续(4+6*4+7*1+4)字节。
解析为连续的1个4字节整形数据类型,6个4字节float数据类型,7个1字节整形数据类型,一个4字节整形数据类型.
以读取GIST SIFT数据集为目的对原文进行了摘选和修改:
对struct.unpack_from('<I'
, Buffer , index)中重要参数'<I' 进行说明:
struct支持以下格式:
Format | C Type | Python | 字节数 |
---|---|---|---|
x | pad byte | no value | 1 |
c | char | string of length | 1 |
b | signed char | integer | 1 |
B | unsigned char | integer | 1 |
? | _Bool | bool | 1 |
h | short | integer | 2 |
H | unsigned short | integer | 2 |
i | int | integer | 4 |
I | unsigned int | integer or long | 4 |
l | long | integer | 4 |
L | unsigned long | long | 4 |
q | long long | long | 8 |
Q | unsigned long long | long | 8 |
f | float | float | 4 |
d | double | float | 8 |
s | char[] | string | 1 |
p | char[] | string | 1 |
struct根据本地机器字节顺序转换(Big-endian, Little-endian).可以用格式中的第一个字符来改变对齐方式.
定义如下:
Character | Byte order | Size and alignment |
@ | native | native 凑够4个字节 |
= | native | standard 按原字节数 |
< | little-endian | standard 按原字节数 |
> | big-endian | standard 按原字节数 |
! | network (= big-endian) | standard 按原字节数 |
'<IIII'
小端方式读入连续16字节,解析为4个Python中4字节整形数据类型.
'>I6f7BI'
大端方式读入连续(4+6*4+7*1+4)字节。
解析为连续的1个4字节整形数据类型,6个4字节float数据类型,7个1字节整形数据类型,一个4字节整形数据类型.
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法