文件操作
理论性知识
"萝莉小姐姐电话号.txt"
open() # 打开
file # 文件的位置(路径)
mode # 操作文件的模式
encoding # 文件编码方式
f # 文件句柄
f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8")
print(f.read())
f.close()
操作文件:
1. 打开文件
2. 操作文件
3. 关闭文件
文件操作的模式:
r,w,a (重要)
rb,wb,ab (次要)
r+,w+,a+ (没啥用)
f = open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding="文件的编码") # 内置函数
f(文件句柄)
重要知识:r读,w写,a加 (重要) 内容
R操作 读
f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8")
print(f.read()) #全部读取
print(f.read(5)) #按照字符进行读取
print(f.read())
print(f.readline()) # 读取一行内容,自动换行
print(f.readline()) # "常鑫你就是大帅比\n"
print(f.readline().strip()) #去除换行符
print(f.readlines()) # 一行一行的读取,存放在列表中
解决大文件:
for i in f:
print(i) # 本质就是一行一行进行读取
print(f.readline())
print(f.readline())
print(f.readline())
W操作 写
w分为两步:
1.先清空文件
2.写入文件
f = open("萝莉小姐姐电话号","w",encoding="utf-8")
f.write("123456789\n")
f.write("123456789\n")
f.write("123456789\n")
f.write("123456789\n")
路径
1.绝对路径 -- C:\user\meet\python24\萝莉小姐姐电话号
2.相对路径
绝对路径方式打开文件
f = open("F:\s24\day08\萝莉小姐姐电话号","r",encoding="utf-8")
print(f.read())
相对路径方式打开文件
f = open("../day03/萝莉小姐姐电话号","r",encoding="utf-8")
print(f.read())
../ 返回上一层
f = open(r"C:\user\net\s24\day03\萝莉小姐姐电话号","r",encoding="utf-8")
路径转义:
1."\\"
2.r"C:\user\net"
推荐使用相对路径 (*****)
s = "[1,'2',3,4]"
print(s)
print(repr(s)) # repr -- 显示数据原生态
A操作:追加写 加
在源文件的基础上进行添加
f = open("../day03/萝莉小姐姐电话号","a",encoding="utf-8")
f.write("138383848\n")
f.write("138383850\n")
次要知识:rb,wb,ab (次要) 字节
rb 读 字节
f1 = open("1.jpg","rb")
print(f1.read()) # 全部读取
print(f1.read(3)) # 按照字节读取
wb 写 字节
f = open("3.jpg","wb")
f.write(f1.read())
ab 加 字节
f = open("2.jpg","ab")
f.write("你好啊".encode("utf-8"))
f = open("2.jpg","rb")
print(f.read())
不重要: +操作
R+ 读写-先读后写
错误的操作 (坑)
f = open("萝莉小姐姐电话号","r+",encoding="utf-8")
f.write("常鑫你太美")
print(f.read())
正确的操作:
f = open("萝莉小姐姐电话号","r+",encoding="utf-8")
print(f.read())
f.write("常鑫你太美")
w+ 清空写 读
f = open("萝莉小姐姐电话号","w+",encoding="utf-8")
f.write("常鑫你太美")
print(f.tell())
f.seek(15)
print(f.tell())
print(f.read())
a+ 追加写 读
f = open("萝莉小姐姐电话号","a+",encoding="utf-8")
f.write("常鑫你太美")
print(f.tell()) # 字节数
print(f.seek(0,0)) # 0将光标移动到文件的头部
print(f.read())
其他操作:
tell 查看光标 --- 返回的是字节数
seek 移动光标
1.seek(0,0) -- 移动到文件的头部
2.seek(0,1) -- 当前位置
3.seek(0,2) -- 移动到文件的末尾
4.seek(3) -- 按照字节进行移动(按照编码集,自己进行计算)
f = open("萝莉小姐姐电话号","r",encoding="gbk")
print(f.read(3)) # 字符
f = open("萝莉小姐姐电话号","rb")
print(f.read(3)) # 字节
f = open("萝