文件及文件操作

Posted zhenghuiwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件及文件操作相关的知识,希望对你有一定的参考价值。

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("认真完成作业")#可读可写可追加,在旧数据后添加新数据

 

以上是关于文件及文件操作的主要内容,如果未能解决你的问题,请参考以下文章

centos 7部署并汉化Gitlab及基础操作

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

ajaxFileUpload上传带参数文件及JS验证文件大小

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础