Python基础(八),八下基础精炼


今日主要内容

  • 文件操作
    • 文件路径
    • 打开方式
    • 编码方式
    • 文件句柄
  • 文件修改

一、文件操作

(一)文件操作的用途

  • 我们运行代码时产生的数据和记录,存储在内存中,当程序运行完,产生的数据和记录就会被释放掉,如果我们需要这个数据或记录以便下次使用,那就需要用文件存储起来(如商城的购买记录等)
  • 文件操作用于:持久化存储数据
  • 文件操作的三步骤:
    • 打开文件
    • 操作文件
    • 关闭文件

(二)文件操作的格式

  • f = open(文件路径, 打开方式, 编码方式)

    f = open("text.txt", mode="r", encoding="utf-8")
    """文件操作"""
    f.close()
  • with open(文件路径, 打开方式, 编码方式) as f:

    • 以此方式打开文件不需要手动关闭文件,自动关闭
    • 可以打开多个文件
      • with open(...) as f1, open(...) as f2:
    with open("text.txt", mode="r", encoding="utf-8") as f:
      """文件操作"""

(三)文件路径

  • 文件路径:文件所在的位置
  • 分为 绝对路径相对路径

(四)打开方式

  • mode可以省略,直接填入打开方式,若不填默认为只读"r"

  • r 只读
    w 只写(清空写)
    a 追加(追加写)
    rb 以字节方式打开文件用于只读
    wb 以字节方式打开文件用于只写(清空写)
    ab 以字节方式打开文件用于追加(追加写)
    r+ 读写
    w+ 写读(清空写)
    a+ 追加写读(追加写)
    r+b 以字节方式打开文件用于读写
    w+b 以字节方式打开文件用于写读(清空写)
    a+b 以字节方式打开文件用于追加(追加写)

(五)编码方式

  • 编码方式决定文件的读写以何种方式进行编码
  • windows使用的编码方式是GBK(终端)
  • Pycharm使用的是编码方式是UTF-8
  • 打开方式所有以字节打开打开的都不能填入编码方式

(六)文件句柄

  • 用来操作文件的媒介,文件操作的所有方法都针对于文件句柄

  • 文件句柄是一个迭代器,可以进行for循环

  • f.read() 读取全部内容
    f.readline() 读取一行内容
    f.readlines() 读取全部内容
    f.close() 关闭文件
    f.write() 写入内容
    f.flush() 刷新内容
    f.seek() 移动光标
    f.tell() 获取光标位置
    f.truncate() 截断文件
  • 注意:文件读取的结果为字符串类型
  • 注意:文件只能写入字符串,写入其他类型数据会报错

二、文件修改

  • 文件修改只能将原文件内容读取到内存中,将信息修改完毕之后,写到新的文件中,将原文件删除,并将新文件重命名成原文件的名字

  • 需要导入os模块用来删除文件和重命名文件

    import os
    
    with open("text.txt", "r", encoding="utf-8") as f1,\
      open("text副本.txt", "w", encoding="utf-8") as f2:
      for line in f1:
          new_line = line.replace("旧内容", "新内容")
          f2.write(new_line)
    os.remove("text.txt")  # 删除原文件
    os.rename("text副本.txt", "text.txt")  # 重名命成原文件
    

相关内容

    暂无相关文章

评论关闭