Day022

mac2025-08-05  4

二进制文件的读取和写入

二进制文件的处理流程和文本文件流程一致。首先还是要创建文件对象,不过,我们需要

指定二进制模式,从而创建出二进制文件对象。例如:

f = open(r"d:\a.txt", 'wb') #可写的、重写模式的二进制文件对象 f = open(r"d:\a.txt", 'ab') #可写的、追加模式的二进制文件对象 f = open(r"d:\a.txt", 'rb') #可读的二进制文件对象

创建好二进制文件对象后,仍然可以使用 write()、read()实现文件的读写操作。

# 【操作】 读取图片文件,实现文件的拷贝 with open("aa.gif","rb")as f: with open("aa.copy.gif","wb")as w: for line in f.readlines(): w.write(line) print("图片拷贝完成!")

文件对象的常用属性和方法

文件对象封装了文件相关的操作。在前面我们学习了通过文件对象对文件进行读写操作。

本节我们详细列出文件对象的常用属性和方法,并进行说明。

文件对象的属性

属性说明

name 返回文件的名字

mode 返回文件的打开模式

closed 若文件被关闭则返回 True

文件对象的打开模式

模式说明:

r 读模式

w 写模式

a 追加模式

b 二进制模式(可与其他模式组合)

读写模式(可以其他模式组合)

文件对象的常用方法

方法名 说明

read([size]) 从文件中读取size 个字节或字符的内容返回。若省略[size],则读

取到文件末尾,即一次读取文件所有内容

readline() 从文本文件中读取一行内容

readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入

列表返回

write(str) 将字符串 str内容写入文件

writelines(s) 将字符串列表 s 写入文件文件,不添加换行符

seek(offset[,whence]) 把文件指针移动到新的位置, offset 表示相对于whence 的多少个

字节的偏移量;

offset:

off 为正往结束方向移动,为负往开始方向移动

whence 不同的值代表不同含义:

0: 从文件头开始计算(默认值)

1:从当前位置开始计算

2:从文件尾开始计算

""" seek(offset[,whence]) 把文件指针移动到新的位置,offset 表示相对于 whence 的多少个字节的偏移量; offset: off 为正往结束方向移动,为负往开始方向移动 whence 不同的值代表不同含义: 0: 从文件头开始计算(默认值) 1:从当前位置开始计算 2:从文件尾开始计算 """ with open("e.txt","r",encoding="utf-8")as f: print("文件名字是%s"%f.name) print("读取到的内容是:%s"%f.readline()) print(f.tell()) f.seek(3,0) #seek(offset[,whence]) print("读取到的内容是:%s" % f.readline()) print(f.tell())

tell() 返回文件指针的当前位置

truncate([size]) 不论指针在什么位置,只留下指针前 size 个字节的内容,其余全

部删除;如果没有传入 size,则当指针当前位置到文件末尾内容全部删除

flush() 把缓冲区的内容写入文件,但不关闭文件

close() 把缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源

最新回复(0)