基础:
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返回的是一个数组。