-
文件操作
1.1 open()---打开
1.2 file---文件的位置(路径)
1.3 mode---操作文件的模式
1.4 encoding---文件的编码方式
1.5 f---文件句柄
1.6
f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8") print(f.read()) f.close()
1.7 操作文件
1.71 打开文件
1.72 操作文件
1.73 关闭文件
1.8 文件操作的模式
1.81 r,w,a模式
1.82 rb,wb,ab模式
1.83 r+,w+,a+模式
1.9 基本格式
f = open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding="文件的编码") # 内置函数 f(文件句柄)
-
r,w,a模式
2.1 r模式
2.1.1 read()全部读取,看文件的操作方式,r/w/a字符
f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8") print(f.read()) #全部读取 print(f.read(5)) #按照字符进行读取 print(f.read())
2.1.2 readline()读取一行内容,自动换行
print(f.readline()) # 读取一行内容,自动换行 print(f.readline()) # "常鑫你就是大帅比 " print(f.readline().strip()) #去除换行符
2.1.3 readlines()一行一行的读取,存储在列表中
print(f.readlines())
2.1.4 解决大文件问题:使用for循环文件句柄
for i in f: print(i) # 本质就是一行一行进行读取
2.2 w模式
2.2.1 w分为两步:
1.先清空文件(open清空) 2.写入文件(只能写字符串)
2.2.2 加在尾端,要用换行符
f = open("萝莉小姐姐电话号","w",encoding="utf-8") # f.write("123456789 ") # f.write("123456789 ") # f.write("123456789 ") # f.write("123456789 ")
2.2.3路径
2.2.3.1 绝对路径: C:usermeetpython24萝莉小姐姐电话号 从磁盘根部去找
绝对路径打开文件 f = open("F:s24day08萝莉小姐姐电话号","r",encoding="utf-8") print(f.read())
2.3.3.2 相对路径:
相对路径打开文件: f = open("../day03/萝莉小姐姐电话号","r",encoding="utf-8") # print(f.read()) # ../ 返回上一层(父级目录)
2.3.3.3 路径转义:
# 1."\" # 2.r"C:user et" # 推荐使用相对路径 (*****)
2.3.3.4 显示数据原生态
s = "[1,'2',3,4]" print(s) print(repr(s)) # repr -- 显示数据原生态
2.3 a模式(追加写)---在原文件的基础上进行添加,文本末尾
f = open("../day03/萝莉小姐姐电话号","a",encoding="utf-8") # f.write("138383848 ") # f.write("138383850 ")
-
rb,wb,ab模式
3.1 rb模式(读字节)
f1 = open("1.jpg","rb") print(f1.read()) # 全部读取 print(f1.read(3)) # 按照字节读取
3.2 wb模式:只能写字节
f = open("3.jpg","wb") f.write(f1.read())
3.3 ab模式:只能写字节
f = open("2.jpg","ab") f.write("你好啊".encode("utf-8"))
-
r+,w+,a+模式
4.1 r+模式:读写 - 先读后写
错误的操作 (坑) # f = open("萝莉小姐姐电话号","r+",encoding="utf-8") # f.write("常鑫你太美") # print(f.read())
4.1.1 正确操作:
正确的操作: # f = open("萝莉小姐姐电话号","r+",encoding="utf-8") # print(f.read()) # f.write("常鑫你太美")
4.2 w+模式:清空写,读(通常要移动光标)
f = open("萝莉小姐姐电话号","w+",encoding="utf-8") # f.write("常鑫你太美") # print(f.tell()) # # f.seek(15) # # print(f.tell()) # print(f.read())
4.3 a+模式:追加写,读
#f = open("萝莉小姐姐电话号","a+",encoding="utf-8") # f.write("常鑫你太美") # print(f.tell()) # 字节数 # print(f.seek(0,0)) # 0将光标移动到文件的头部 # print(f.read())
4.4 操作如果将光标移动到某个位置进行,写入的时候还是在文件的末尾
5 其它操作
tell 查看光标 --- 返回的是字节数 # seek 移动光标 # 1.seek(0,0) -- 移动到文件的头部 # 2.seek(0,1) -- 当前位置 # 3.seek(0,2) -- 移动到文件的末尾 # 4.seek(3) -- 按照字节进行移动(按照编码集,自己进行计算)
5.1 with open的好处:
可以同时打开多个文件
能够自动关闭文件
f = open("萝莉小姐姐电话号","r",encoding="gbk")