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

    文件操作:
    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:
    不需要关闭文件句柄
  • 相关阅读:
    水题大战Vol.3 B. DP搬运工2
    火题小战 C. 情侣?给我烧了!
    火题小战 B. barbeque
    火题小战 A.玩个球
    P6087 [JSOI2015]送礼物 01分数规划+单调队列+ST表
    NOI2020D1T1美食家
    Java 的随机数
    MySQL 配置文件的配置
    NOIP2020准(ge)备(zi)日记
    android开发EditText禁止输入中文密码的解决方法
  • 原文地址:https://www.cnblogs.com/luxiangyu111/p/9305395.html
Copyright © 2011-2022 走看看