zoukankan      html  css  js  c++  java
  • 文件操作回顾

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

  • 相关阅读:
    在java中怎样获得当前日期时间
    java 常见异常
    线程中的current thread not owner异常错误
    hibernate 关于hbm.xml编写的总结
    java web 常见异常及解决办法
    初用Ajax
    JavaScript动态修改html组件form的action属性
    Ajax中文乱码的解决
    No repository found error in Installing ADT
    eclipse 安装 CDT
  • 原文地址:https://www.cnblogs.com/-777/p/11191430.html
Copyright © 2011-2022 走看看