python二进制读写文件

基础:

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

详细解析可见https://www.cnblogs.com/xiaohai2003ly/p/8696112.html 

 

 

 

https://www.cnblogs.com/xiaohai2003ly/p/8696112.html 

posted @ 2018-06-04 09:27  你的KPI完成了吗  阅读(177)  评论(0)    收藏  举报