数据持久化
数据从瞬时状态转换为持久状态。
open(参数1,参数2,参数3…) - 打开文件,打开的是一个文件对象。
参数1:路径和文件名。
参数2:文件打开的方式(读和写)。
参数3:文件打开的编码形式:utf-8。
假设目前我处于文件夹B中,找到文件A。
语法: .表示当前文件夹(可以省略不写); …返回上一级
文件夹和文件夹直接以及文件夹和文件之间需要使用\间隔。
路径有相对路径和绝对路径之分
相对路径:以当前所找参照物为基础,另一个文件相对于参照物的所在位置,应该使用/
绝对路径:以磁盘为参照物,使用\
# 假设目前我处于文件夹B中,找到文件A : …\文件夹A\文件A
open(r’测试/用户信息.txt’)
open(‘/测试/用户信息.txt’)
参数2:r、a、w、+等
r:只读,如果文件不存在,报错。
w:只写,文件不存在,先自动创建;文件存在,清空(如果某个文件夹不存在,不会创建文件夹)
a:只写,文件不存在报错;如果文件存在,追加。
+:可读可写,将r、a、w变为可读可写的符合:r+、a+、w+;python操作文件要么读,要么写,不能同时读写
参数3:encoding = ‘utf-8’
open(r’测试/用户信息.txt’)
f = open(r’测试/用户信息.txt’, ‘r’, encoding=‘utf-8’)
print(f)
read()从文件对象中都信息
f.write() #会报错 文件‘r’ 是只读
a = f.read()
print(a, type(a))
1
2
3
4
5
6
7
8
所有文件在内存是以二进制形式保存的
参数2:补充
r、w、a、+ —>文件编辑方式
t、b -->文件展示形式
t: 文本
b:字节
r、w、a等价于rt、wt、at、tr、tw、ta —>t默认的,可以不写。
rb、wb、ab、br、bw、ba表示以字节形式操作文件
c = open(‘./测试/呵呵呵.jpg’,‘br’) # 图片自定义
b = c.read()
print(b, type(b))
b’…’ 都是字节
1
2
3
4
python操作文件流程
1.文件写操作
新建xxx名字的文件
写入内容
保存关闭
f = open(‘./测试/咏鹅.txt’,‘w’,encoding=‘utf-8’)
str1 = ‘\t咏 鹅\n\t骆宾王\n鹅鹅鹅,曲项向天歌。\n白毛浮露水,红掌拨清波’
print(str1)
f.write(str1)
f.write(‘\n24555’) # 会在加 文件后
f.close() # 关闭文件后 为了节省流程 会关闭文件 关闭后需再打开
1
2
3
4
5
6
2.文件读操作
f = open(‘./测试/咏鹅.txt’,‘r’,encoding=‘utf-8’)
read() :一次读所有内容
print(f.read())
readline():一次读一行
c = open(‘./测试/用户信息.txt’,‘r’,encoding=‘utf-8’)
print(c.readline())
1
2
3
4
5
6
readlines():一次读全部内容,每一行内容作为列表中的一个元素
print(f.readlines())
f.close()
1
2
3
3.读取图片
f = open(‘./测试/呵呵呵.jpg’,‘rb’)
result = f.read()
print(result) # 以字节得形式查看图片
f.close()
下载图片
f2 = open(‘./测试/亚亚.jpg’,‘wb’) #图片也只是用其他方式得数据保存起来,输入正确得字节就能下载图片
f2.write(result)
f2.close()
————————————————
版权声明:本文为CSDN博主「ZiXiaoAo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZiXiaoAo/article/details/125531368