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

    1,文件:操作系统提供给用户/应用程序操作硬盘的接口

      

     控制文件读写操作模式:t模式(txt),b模式(bytes),但是t,b模式不能单独使用,必须跟r,w,a结合使用

      t模式(txt):

    1. 读,写都是以字符串为单位
    2. 文本文件
    3. 必须指定encoding = "编码格式"  

      当文件打开读完后关闭就不能再读,否则会报错

    没有指定encoding操作系统默认编码:

      max,Linux系统默认:utf-8

      Windows系统默认:gbk

    2,

    r模式:只读

      • 当文件不存在时,读取文件则报错
      • 当文件存在时指针跳到开始位置

    read :一次性读取所有数据(但不适合读文件大的数据)

    • with open("r.txt","r",encoding= "utf-8") as flie:
          res = flie.read()
          print(res)
      
          res1 = flie.read()#当第二次读取时是空的
          print(res1)
      
          #运行结果
          hhgfghfsgjf 
                           
            

    w模式 :只写

      • 当文件不存在时,则创建文件
      • 当文件存在时,则清空文件内容,指针跳到开始位置

      强调:

    1. 在w模式中打开文件没有关闭的情况下,连续写入新的数据总跟在原来的数据后增加
    2. 如果以w模式打开文件则内容会被清空  
    • with open("r.txt","w",encoding= "utf-8") as flie:
          print(flie.write("啦啦
      "))
          print(flie.write("丽丽
      "))
      
          #运行结果
          啦啦
          丽丽

    w模式 :只追加

      • 当文件不存在时,则创建文件
      • 当文件存在时,指针跳会直接调到末尾

    a模式与w模式的区别:

    • 相同:都可以追加内容
    • 不同:
      • a模式重新打开不会清空内容,指针会停在内容末尾
      • w模式重新打开则会清空内容,指针会停在开始位置

    文件copy 

    with open("r.txt","rt",encoding= "utf-8") as flie1 ,
        open("f.txt","wt",encoding="utf-8") as flie2 :
        res = flie1.read()
        flie2.write(res)

    + : + 不能单独使用,必须结合r,w,a使用

      如果源文件中有内容则会会被覆盖 

    with open("f.txt","rt+",encoding= "utf-8") as flie1:
        flie1.write("认真完成作业")#可读可写
    
    
    with open("f.txt","wt+",encoding= "utf-8") as flie1:
        flie1.write("认真完成作业")#可读可写,重新打开则数据清空
    
    
    with open("f.txt","at+",encoding="utf-8") as flie1:
        flie1.write("认真完成作业")#可读可写可追加,在旧数据后添加新数据
  • 相关阅读:
    将execel表格的数据导入到mysql数据库
    清明听雨
    h5调用底层接口的一些知识
    微信小程序从零开始开发步骤(一)搭建开发环境
    Matplotlib
    Numpy
    pandas
    6 MapReduce的理解
    静态链表
    单链表
  • 原文地址:https://www.cnblogs.com/zhenghuiwen/p/12487866.html
Copyright © 2011-2022 走看看