基础:

open(path, mode, b_buffer_size),需要指出的是第三个参数,它用来控制IO的时候是否使用缓存,这个缓存指的是python自己开辟的一片内存吧。

seek(offset),设置文件的偏移指针

read(size), 读取size这么多内容,返回什么呢? 返回的是一个字符串,或者说buffer

write(string),注意,写入的是一个buffer

tell(), 查找文件的偏移指针值。

 

二进制读写:

二进制读返回的也是一个字符串,写入的也是一个字符串。

需要使用pack、unpack把字符串打包或解析成普通变量。

需要注意的是字节序。 比如:

read_buf = f.read(size)
element=struct.unpack('>Q', read_buffer)[0]

以大端序方式把这个buffer转换为uint64类型。 因为是格式化转换,所以可能会转换出多个变量,所以struct.unpack返回的是一个数组。