学习8.内容#文件操作 读 写 加

阿里云2000元红包!本站用户参与享受九折优惠!

目录

文件操作

理论性知识

"萝莉小姐姐电话号.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("萝莉小姐姐电话号","r",encoding="gbk")
print(f.read(3))     # 字符

错误操作

f = open("萝莉小姐姐电话号","r",encoding="gbk")
f.seek(-1)
print(f.read())

文件修改

f = open("萝莉小姐姐电话号","r",encoding="gbk")
s = f.read()
s1 = s.replace("你太美","吃煎饼")
f1 = open("萝莉小姐姐电话号","w",encoding="gbk")
f1.write(s1)
with 关键字 open("萝莉小姐姐电话号","r",encoding="gbk") as f:
  文件操作的具体内容

w,a 检测有文件就操作,没文件就创建

with open("萝莉小姐姐电话号","r",encoding="gbk")as f,\
        open("萝莉小姐姐电话号.txt","w",encoding="gbk")as f1:
    for i in f:
        s1 = i.replace("大烧饼","井盖")
        f1.write(s1)
import os
os.rename("萝莉小姐姐电话号","萝莉小姐姐电话号.bak")
os.rename("萝莉小姐姐电话号.txt","萝莉小姐姐电话号")
with open("萝莉小姐姐电话号","r",encoding="gbk")as f:
    pass # 缩进里操作文件
print(f.read())  # 文件及已经关闭了

你或许想:《去原作者写文章的地方

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论