Day022

二进制文件的读取和写入

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

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

        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() 把缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值