文件读写模式与操作方法

文件读写模式与操作方法

文件读写模式

  • image

  • 只读模式

    1.只读模式顾名思义就是我们在使用程序操控文件执行时只能读取不能够编写
    # 如果文件路径不存在的话那么就不会调出数据,直接报错无法读取
    with open(r'a.txt', 'r', encoding='utf-8') as f:
        print(f.read())
    """
    待到来年九月八
    我花开后百花杀
    冲天香气透长安
    满城尽带黄金甲
    """
    
  • 只写模式

    1.只写模式也是顾名思义将文件打开只能编写你想要的文字(使用只写模式每次打开文件都会将那个文件全部清空然后
    在开始编写所以一定要注意如果你打开的文件里面如果有重要的‘学习资料’一定不要使用只写模式,恢复不了不乏找回),
    如果系统没有在你所说的路径中找到你标记的文本文件那么就会自动帮你生成一个文本文件
    with open(r'b.txt', 'w', encoding='utf-8')as f:
        f.write('无言独上西楼\n月如钩\n寂寞梧桐深院锁清秋')
    """
    无言独上西楼
    月如钩
    寂寞梧桐深院锁清秋
    """
    
  • 只追加模式

    1.在只追加模式中当我们打开了那个文件时并不会将以前的数据删除,而是在文本后面跟着写所以你需要先跟一个换行符
    然后进行编辑文本
    with open(r'b.txt', 'a', encoding='utf-8')as f:
        f.write('\n剪不断\n理还乱\n是离愁\n别是一番滋味在心头')
    """
    无言独上西楼
    月如钩
    寂寞梧桐深院锁清秋
    剪不断
    理还乱
    是离愁
    别是一番滋味在心头
    """
    

文件操作模式

  • 文本模式

    1.文本模式本质上就是我们日常书写的文件,只能容纳字符串不能容纳视频音频等其他格式文件
    	简写:r		全拼:rt			(读取文件)
      	简写:w		全拼:wt			(书写文件)
    	简写:a		全拼:at			(追加书写文件)
    2.注意事项
    	2.1文件模式只能操作文本文件
       2.2在书写时必须要话encoding后面跟上字符的编码格式
    	2.3读取的时候也只能读取字符串格式
    
  • 二进制模式

    1.二进制模式其实就是只有计算机能够听懂的语言,将我们人类能够看懂的语言编译成机器能听懂的语言,在通讯时我们将自己的语言发送通过计算机编译成二进制模式,从另一个接收端基站模拟出你发送的数据信号这样接受端就可以收到你所发送的东西。
    	全拼:rb			(读取文件)
    	全拼:wb			(书写文件)
    	全拼:ab			(追加书写文件)
    2.注意事项
    	2.1在标注二进制模式时必须全拼否则不识别或自动识别为文本模式
       2.2能够操纵所有的文本格式
    	2.3不需要编辑encoding就可以直接编写因为会直接转成二进制格式
       2.4他的存储单位是以bytes来存储
      	 with open(r'鬼刀.png', 'rb')as f:
        		print(f.read())
    """
    \x90\xc2^4`L\x14\xa3\xb7\xcbo\n\xa1\x04\xbc\xc9xA\xb5\x073\xb4\x83\x01Q`\xcf\xf8U\xf8\
    xde-\x987W\xfe?\xc7\xac\xe9\x80\xa8uK\xf8\x00\x00\x00\x00IEND\xaeB`\x82'
    ...
    """
    

文件诸多方法

  • 文件操作内置方法

    read()		  读取
    """在读取模式中如果文件数据较大时就不建议一次性读取所有的文件尽量分批次去读取这个文件否则容易将内存卡爆"""
    readline()		一行一行读取
    """每运行一次那么才会读取一行内容"""
    readlines()		一行一行读取知道读取所有行读取完以列表形式返回
    readable()		是否可以读取
    write()			书写
    writeable()		是否可以书写
    writelines()	一行一行书写,所以在这个模式可以同时兼容多种格式的文件
    flush()			输入这个命令就相当于我们在编写文本文件时按了一次Ctrl+S
    
posted @ 2022-06-29 16:25  Joseph-bright  阅读(717)  评论(0编辑  收藏  举报