文件操作回顾

  1. 文件操作

    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(文件句柄)
    
  2. 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
    ")
    
  3. 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"))
    
  4. 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")

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())

原文地址:https://www.cnblogs.com/-777/p/11191430.html