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

    今日主要学习了

    1. 初识文件操作
    2. 只读(r, rb)
    3. 只写(w, wb)
    4. 追加(a, ab)
    5. r+读写
    6. w+写读
    7. a+写读(追加写读)
    8. 其他操作方法
    9. 文件的修改以及另一种打开文件句柄的方式

    一. 初识文件操作

    1. 文件中我们经常用open来打开文件,或取到文件的句柄. 然后通过文件句柄就可以对文件进行各种各样的操作了.根据打开方式的不同能够执行的操作也会有不同的操作.

    打开文件的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b默认使用的是r(只读)模式

    打开文件的基本操作: f= open('文件名',mode="r",encoding='utf-8')

    路径:

    1) 相对路径: 从文件内部一步一步的找到目标文件.

    进文件: 文件名/

    出文件: ../

    2) 相对路径:

    直接从磁盘里找到目标文件(这里有问题 ,建议少用)

    日志:程序运行过程中记录的所有信息.

    二. 只读操作(r, rb)

    相关操作:1. read()默认的是读取全部内容 

     read(n)注意这里可以在括号里放数字n,这里的数字指的是读取几个字符

        2.readlines()这里表示的意思是读取一行 用strip可以去除  readlines是一次性把所有的内容全部读出来,返回的是列表.

    for line in f:

    print(line) 

    这里的line指的是每一行的内容

    f = open("护士少妇嫩模.txt",mode="r", encoding="utf-8")
    content = f.read()
    print(content)
    f.close()    #关闭文件

    encoding表示的是编码集.根据文件的实际保存编码进行获取数据,常用的是utf-8

    三. 只写操作.(w , wb)

    这里的只写操作是在文件中写入数据.但是有一个问题 ,每次再用" w"的时候都会清空文件.

    只写文件可以创建文件 . 如果你输入的文件不存在,会帮你创建一个文件,在执行只写操作

    好习惯:  

    f.flush() 刷新管道

    f.close() 关闭文件

       四. 追加操作 .(a ,ab)

    追加顾名思义,在最后追加,我们写入的内容会直接追加到文件的尾部.

    这里的追加操作也可以创建新的文件

    五. r+操作 偏重于读

    必须是先读在写,一开始光标默认实在开头,准备读取的,当读完之后在进行写,使用频率相对来说比较高.

    六 .写读操作(w+,w+b) 写读操作注重的是写  

    必须先写,在读( 这里读到的内容是空的)

    先将所有的内容清空,再然后写入,最后读取.但是读取的内容是空的,不常用

    六.追加读(a+)

    a+模式下,不管是先读,还是后读,都是读取不到数据的.

    七.其他操作

    1. seek() 移动光标

    f.seek(m,n) 两个参数

    m: 这里的m表示的是偏移量 

    n:表示的是从n位置开始便宜默认是0 ,1 表示的是当前位置 , 2 表示的结尾

    2 . tell 返回光标的所在位置 

    文件的修改(重点)

    导入os模块 ,os模块表示的是操作系统  import  os

     1. 先从文件中读取内容.

     2.把需要进行的修改的内容进行修改

     3.把修改好的内容放到一个新的文件中 

     4.删除原来的文件

     5 .把文件重命名成原来的文件名字 

    在这里引入了一个新的语法词语: with

    with可以帮我们自动关闭文件的链接

    with open("夸一夸alex", mode="r", encoding="utf-8") as f, 
    / ==>这里的/表示的是这两行代码是一行的
    open("夸一夸alex_副本", mode="w", encoding="utf-8") as f2:
    
    for line in f:
        if "好人" in line:
        line = line.replace("好人", "sb")
        f2.write(line)
    
        time.sleep(3)  程序停止三秒

    with中会出现两个特殊函数

    __enter__  --> 调用with函数的时候会自动执行这个函数
    __exit__ --> 出现错误的时候,会被这个方法捕获到

    with函数的好处

    执行结束后会自动关闭这个操作,并且在处理错误的时候也会比较简洁
  • 相关阅读:
    一周小记(十七)
    一周小记(十九)
    2021/12/28组会
    AdaIN论文阅读(Arbitrary Style Transfer in Realtime with Adaptive Instance Normalization)
    PostgreSQL新增、更新、删除触发器
    leetcodedphard最小距离
    leetcodedp编辑距离问题两个字符串的删除操作
    正向代理代理客服端,反向代理代理服务器
    mybatisplus逻辑删除 3.1一下版本
    Eclipse使用指定JDK,无需配置Path变量
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10071476.html
Copyright © 2011-2022 走看看