20.2-文件的模式

作者: BeautifulSoulpy | 来源:发表于2019-09-24 08:21 被阅读0次

    感情、大家的关系,都是有度的!朋友也是有排名的!

    open

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    

    mode模式
    mode 是一个可选字符串,用于指定打开文件的模式。

    描述字符 意义
    'r' 读取(默认),只读打开
    'w' 白纸写入,并先截断文件;只写打开 从头写入;清除内容重新写入
    'x' 排它性创建,如果文件已存在则失败; 为写模式
    'a' 追加模式写入打开,如果文件存在则在末尾追加,不存在创建;
    'b' 二进制模式,不可独立使用
    't' 文本模式(默认)
    '+' 更新磁盘文件(读取并写入);给原来只读、只写方式打开提供缺失的读\写能力

    +为r、w、a、x提供缺失的读或写功能,但是,获取文件对象依旧按照r、w、a、x自己的特征。 +不能单独使用,可以认为它是为前面的模式字符做增强功能的。

    # r模式
    f = open('test') # 只读还是只写?
    f.read()
    f.write('abc')
    f.close()
    f = open('test', 'r') # 只读
    f.write('abc')
    f.close()
    f = open('test1',
    
    # w模式
    f = open('test','w')
    f.write('abc')
    f.close()
    >>> cat test # 看看
    f = open('test', mode='w')
    f.close()
    >>> cat test # 看看内容
    f = open('test1', mode='w')
    f.write('123')
    f.close()
    >>> cat test1 # 看看内容
    
    总结:
    1. w、x 模式的写入不是立即写入,类似于攒够一次再写入;
    2. w模式是清除再重新写入
    

    wxa都是只写,wxa都可以产生新文件

    w 不管文件存在与否,都会生成全新内容的文件;
    a 不管文件是否存在,都能在打开的文件尾部追加;
    x 必须要求文件事先不存在,自己造一个新文件。

    文本模式t 字符流,将文件的字节按照某种字符编码理解,按照字符操作。open的默认mode就是rt。
    二进制模式b 字节流,将文件就按照字节理解,与字符编码无关。二进制模式操作时,字节操作使用bytes类型

    相关文章

      网友评论

        本文标题:20.2-文件的模式

        本文链接:https://www.haomeiwen.com/subject/wqsmuctx.html