python 二进制文件的读写

2023-01-31 01:01:28 python 二进制文件 读写

对于二进制代码的读取:

import struct
with open('valid0_0','rb') as f:#valid0_0二进制文件名
    f.seek(0,2)
    n=f.tell()
    f.seek(0,0)
    buf=f.read(n)
    m=int(n/4)#4是根据你数据的类型和你之前定义的buf长度确定
    print(m,n)
    print(struct.unpack_from(str(m)+'I', buf, 0))
关于seek的使用

file.seek()方法标准格式是:seek(offset,whence=0)
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。默认为0

tell的使用

tell()方法返回的文件内的文件读/写指针的当前位置fileObject.tell(offset[, whence])
代码源址链接

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 打开文件
fo = open("runoob.txt", "rw+")
print "文件名为: ", fo.name

line = fo.readline()
print "读取的数据为: %s" % (line)

# 获取当前文件位置
pos = fo.tell()
print "当前位置: %d" % (pos)


# 关闭文件
fo.close()
f.read()的使用

从文件指针所在的位置,读到文件结尾

相关文章