zoukankan      html  css  js  c++  java
  • python r r+;w w+;a a+;以及加不加b区别

    #以下内容均在正常打开文件的情况下运行

    一、列表格

    模式 可做操作 若文件不存在 是否覆盖
    r 只能读 报错 ---
    r+ 可读可写 报错
    w 只能写 创建
    w+ 可读可写 创建
    a 只能写 创建 否,追加
    a+ 可读可写 创建 否,追加
    b -----(二进制读取方式) ---------(配合读写使用) -----

      其实这里的读写很好理解,但是对于a和a+,他们是文本追加(这里要注意覆盖并不是覆盖重复内容,而是覆盖全部内容)------也就是重写文件(回档,哈哈哈)

    加不加b取决于文件的文本形式

    2.1写文件加读取文件

    #不追加,但是每次都会覆盖之前写的(任何字段都会覆盖,) 
    # with open('name.txt','w',encoding='utf8')as f:
    #     f.writelines("0001"+'
    '+'小明'+'
    '+'1701班')
    
    # with open('name.txt','r',encoding='utf8')as f:
    #     for line in f.readlines():
    #         print(line,end='')
    #readlines()读取多行,就是有s和没有s的区别
    # with open('demo2.txt','r',encoding='utf8')as f:
    #     for line in f.readlines():
    #         print(line,end='')

    2.2文件的追加写入

    文件读取
    # with open('demo.txt','r',encoding='utf8')as f:
    #     for line in f.readlines():
    #         print(line,end='')
    
    
    # #文件追加写入
    # with open('demo.txt','a+',encoding='utf8')as f:
    #     f.write('
    ')
    #     f.write('you are a boy!')

    2.3二进制的读取(简单解释一下)

    读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认为字节x1A(26)转换成的字符为文档结束符(EOF),

          故使用'r'进行读取二进制文件时,可能会出现文档读取不全的现象。 

    示例:
         二进制文件中存在如下从低位向高位排列的数据:7F 32 1A 2F 3D 2C 12 2E 76
         如果使用'r'进行读取,则读到第三个字节,即认为文件结束。
         如果使用'rb'按照二进制位进行读取的,不会将读取的字节转换成字符,从而避免了上面的错误。

  • 相关阅读:
    除去String字符串里面指定的字符串
    JSON总结(java篇)
    关于tomcat文件下载配置
    在多行列表中id同名的<a>标签点击事件处理方法
    java Properties异常:Malformed uxxxx encoding.
    关于An association from the table refers to an unmapped class
    Java实现Mysql数据库自动备份
    Could not publish server configuration for Tomcat v6.0 Server at localhost.
    MySQL备份命令mysqldump参数说明与示例
    图解 | 原来这就是网络
  • 原文地址:https://www.cnblogs.com/cybg/p/11783257.html
Copyright © 2011-2022 走看看