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()的使用
从文件指针所在的位置,读到文件结尾
相关文章