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函数的好处

    执行结束后会自动关闭这个操作,并且在处理错误的时候也会比较简洁
  • 相关阅读:
    托付和事件的使用
    在使用supervisord 管理tomcat时遇到的小问题
    无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin
    (转)Openlayers 2.X加载高德地图
    (转)openlayers实现在线编辑
    (转) Arcgis for js加载百度地图
    (转)Arcgis for js加载天地图
    (转) 基于Arcgis for Js的web GIS数据在线采集简介
    (转) Arcgis for js之WKT和GEOMETRY的相互转换
    (转)Arcgis for Js之Graphiclayer扩展详解
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10071476.html
Copyright © 2011-2022 走看看