• 文件的操作


    • 文件操作的初识
      • a.txt
      • 利用python代码去操作文件.(利用python代码写一个很low的软件,操作文件.)
        • 文件路径:path
        • 打开方式:mode(r(读),w(写),a(追加),读写,写读)
        • 编码方式:utf-8 ,gbk,gb2312....
      • open
          	open 内置函数,open底层调用的是操作系统的接口
          	f1,变量.  (f1,fh,file,file_handler,f_h)   文件句柄.通过对文件的任何操作都会通过文件句柄. 的方式.
          	encoding:可以不写,不写参数,默认编码本.默认编码本:操作系统的默认的编码
          	****文件句柄****是一个迭代器
          	windows:gbk
          	linux:utf -8
          	mac: ust -8
          	f.close (关闭文件)
          
      • 文件操作三步
        1. 打开文件
        2. 对文件句柄的操作
        3. 关闭文件
      • 文件报错:
        1. unicodeDecodeError 错误,编译错误
        2. 路径分隔符产生异议: 路径前面加r
    • 文件操作的读
      • r,rb(bytes模式读),r+(读写),r+b...四种模式
        • r
          • read() 全部读取出来
          • read(n) 读取n个字符
          • readline() 读取一行
          • readlines() 返回一个列表,列表中的每个元素是原文件的每一行
          • for i in f.
        • rb(操作的是非文本的文件[图片,视频,音频],但可以操作文本文件)
    • 文件操作的写
      • w,wb,w+,w+b
        • w
          • 没有文件创建文件,有文件则先清空.再写入新内容.
        • wb(操作的是非文本的文件[图片,视频,音频],但可以操作文本文件)
    • 文件操作的追加
      • a,ab,a+,a+b
        • a.有文件在原文件追加内容,没文件创建文件.追加内容
    • 文件操作的其他模式
      • r+ :读并追加.先读后写.先写后读会导致写的时候光标在最前面.覆盖.所有顺序不能错,必须先读后追加
    • 文件操作的其他功能
      • 总结
        • 三个大方向(读,写,追加)
        • 读 四种模式:r rb r+ r+b
        • 写 四种模式:w wb w+ w+b
        • 追加 四种模式:a ab a+ a+b
          相应的功能:对文件句柄的操作. read read() readline() readlines() write()
        • tell() 查看光标的当前位置(字节)
        • seek(n) 调整光标的位置 n =0 调整光标到开始.n = -2光标调整到最后
        • flush 强制刷新(保存) 在写的后面一般f.flush()
    • 打开文件的另一种方式
      • with open
        • 优点:不用手动关闭文件句柄
        • 优点:可以同时打开多个文件.
    • 有关清空:
      • 关闭文件句柄,再次以w模式打开此文件时,才会清空.
    • 文件操作的改
      1. 以读的模式打开源文件.
      2. 以写的模式创建一个新文件
      3. 将原文件的内容读出来修改成新内容.写入新文件.
      4. 将原文件删除.
      5. 将新文件重命名为原文件.
        import os
        with open("alex",encoding="utf -8") as f1,
            open("alex1",encoding="utf8",mode="w")as f2:
            for a in f1:
        
                lin = a.replace("SB","sb")
                f2.write(lin)
        
        
        os.remove("alex")
        os.rename("alex1","alex")
        

    今日总结

    • 文件操作.
      • r w a rb wb r+ 重点记
      • read() writer() tell() seek() flush()
      • 文件改的代码必须会默写
  • 相关阅读:
    JQuery hover鼠标变换
    装饰者模式
    principle04
    Method Injection
    观察者模式
    Java SPI
    Redis--学习01
    OO设计中5大原则
    knowledge
    策略模式
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/10839279.html
Copyright © 2020-2023  润新知