• 文件操作


    文件操作:
    1. r
    路径有两种:
      1. 相对路径, 相对于你当前程序所在的文件夹.(必须掌握)
       ../ 返回上一层目录
       相对的是当前程序所在的文件夹
    
      2. 绝对路径. 1.从磁盘根目录寻找. 2.互联网上的一个绝对路径
    f = open("小护士模特", mode="r", encoding="utf-8")
    s = f.read(2)
    ss= f.read(2) #会接着上面位置继续读下去
    f.close()   # 关闭句柄
    print(s)
    print(ss)
    
    
    f = open("吃的", mode="r", encoding="utf-8")
    for line in f:  # 每次读取一行. 赋值给前面的line变量
        print(line)
    f.close()
    r模式
        2. w
    f = open("小护士模特", mode="w", encoding="utf-8")   # 写入之前会情掉原来的内容
    f.write("杜十娘")
    f.flush()
    f.close()
    w模式
        3. a
    f = open("小护士模特", mode="a", encoding="utf-8")   # 在原来的基础上进行追加内容. 
    f.write("
    小龙女")
    f.flush()
    f.close()
    a模式
        4. r+
    读写模式.
    需要移动光标进行反复读写
    f = open("老师点名", mode="r+", encoding="utf-8") # r+模式, 默认情况下光标在文件的开头, 必须先读, 后写
    f.write("周润发")
    s = f.read()
    f.flush()
    f.close()
    print(s)
    
    
    f = open("精品", mode="r+", encoding="utf-8")
    s = f.read(3)
    # 不管你前面读了几个. 后面去写都是在末尾
    # f.write("哈哈")   # 1.在没有任何操作之前进行写. 在开头写  2. 如果读取了一些内容. 再写, 写入的是最后
    
    # print(ss)
    
    
    f = open("精品", mode="r+", encoding="utf-8")
    f.read(3)
    f.seek(3)   # 移动到xx位置
    移动到开头: f.seek(0)  开头
    移动到末尾: f.seek(0, 2)   末尾 第二个参数有三个值. 0: 再开头,  1: 在当前, 2: 末尾
    
    超人的都是精品.abcdefg潘长江是精品巴拉巴拉小魔仙哈哈
    f.seek(6)   # 移动6个字节. 2个字
    s = f.read(3)   # 读取3个字
    print(s)
    f.seek(0)
    ss = f.read(3)
    print(ss)
    
    s = f.read()
    f.seek(0)
    ss= f.read()
    print(s)
    print(ss)
    r+模式
        5. w+写读
    f = open("小护士模特", mode="w+", encoding="utf-8")  # w 操作.会清空原来的内容.  w+是不用的.
    f.write("今天天气")
    # f.seek(0)
    s = f.read()
    print(s)
    f.flush()
    f.close()
    w+模式
        6. a+ 追加写读
    7. b bytes 读写操作的是字节. 用在非文本上
        rb模式   

        8. seek() 移动光标到xx位置
    开头: seek(0), 末尾: seek(0,2)
    9. 文件修改
    创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
    import os
    os.remove("")删除文件
    os.rename("源文件", "新文件名") 重命名文件
    import os
    
    with open("吃的", mode="r", encoding="utf-8") as f1, 
            open("吃的_副本", mode="w", encoding="utf-8") as f2:
        # s = f1.read()
        # ss = s.replace("肉", "菜")
        # f2.write(ss)
        for line in f1:
            s = line.replace("", "")
            f2.write(s)
    
    os.remove("吃的") # 删除文件
    os.rename("吃的_副本", "吃的")    # 重命名文件
    文件修改
        for line in f:
    line 一行数据

    with open("文件名") as f:
    不需要关闭文件句柄
  • 相关阅读:
    Java核心篇,二十三种设计模式(二),结构型——适配器模式
    Java第三十七天,Mybatis框架系列,基于注解的缓存控制
    Java第三十七天,Mybatis框架系列,缓存
    Java第三十七天,Mybatis框架系列,延迟加载(基于 Collection 的实现方式)
    Java第四十五天,SpringBoot框架系列,SpringBoot基础(五)
    第十一篇 Django 【基础篇】
    第十篇 web应用&http协议
    第八篇 (2)jQuery
    第九篇 BootStrap
    第八篇 JavaScript
  • 原文地址:https://www.cnblogs.com/luxiangyu111/p/9305395.html
Copyright © 2020-2023  润新知