第十二章 文件io操作

本章节介绍了Python中的文件输入输出操作,包括使用open函数创建流对象,通过read、readline、readlines进行读取,以及write和append模式进行写入。此外,还讲解了如何使用pickle模块进行对象的序列化和反序列化,实现对象与字节序列之间的转换。
摘要由CSDN通过智能技术生成

第十二章 文件io操作

在这里插入图片描述

步骤:

  1. 创建流对象
  2. 读或写
  3. 关闭流

创建流对象

open

f = open('pack/abc.txt')
print(dir(f))

read、readline、readlines

read()读取所有

f = open('pack/abc.txt')
print(dir(f))
content = f.read()
print(content)# 12345678

read(指定读取多少个)

f = open('pack/abc.txt')
print(dir(f))
content = f.read(3)
print(content)# 123
f.close()

readline读取一行

readlines读取所有行,以列表显示

# 写模式,文件不存在,可以创建
f = open('text.txt','w')#w模式,会覆盖
f.write('java')
f.close()
f = open('text.txt','a')#a模式,会追加
f.write('java')
f.close()

关闭流

close

f = open('pack/abc.txt')
print(dir(f))
content = f.read()
print(content)# 12345678
f.close()

注意

  1. 文件必须存在否则会报错

  2. 模式

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FboGtIQH-1648629604602)(Python.assets/image-20211204113059987.png)]

课堂练习

复制一张图片:

# 以二进制只读模式读取源文件
f = open('C:/Users/14016/Pictures/Saved Pictures/text.jpeg','rb')
# 以二进制写入模式写入
cp = open('text_cp.jpeg', 'wb')
# 将源文件的二进制代码写入目标文件
cp.write(f.read())
# 关闭流
f.close()
cp.close()

对象的序列化和反序列化

序列化:对象—》字节序列

反序列化:字节序列—》对象

pickle

.dump - 序列化

import pickle
class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __str__(self):
        return f'{self.name}:{self.age}'
stu = Student('mary',16)
pickle.dump(stu,open('stu.txt','wb'))

.load - 反序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值