• python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)


    一、核心功能

    ‘r’:只读。该文件必须已存在。

    ‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。

    ‘rb’:表示以二进制方式读取文件。该文件必须已存在。

    ‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。

    ‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。

    ‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

    ‘a’:追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。

    ‘a+’:追加读写。打开文件方式与写入方式和'a'一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek() 方法解决这个问题)

    二、示例解说

    Model 1: r ---只读模式

    注意:test2.txt 必须文件是已存在的。顺便说一下字符编码。因为Windows操作系统默认字符编码为GBK,而Python默认Unicode.utf-8,如果不写“ encoding=‘utf-8' "就会报错。

    Model 2: r+ ---可读可写模式

    Model 3: rb ---以二进制方式读取文件

    Model 4: w ---只写模式

    Model 5: w+ ---写读模式

    Model 6: wb+ ---以二进制方式读写文件

    Model 7: a ---追加写模式

    Model 8: a+ ---追加读写模式

    三、附加干货

    以下是文件操作中常用的一些方法:
    

    print(f.readline()) # 打印一行
    print(f.readline(5)) # 打印前5个字符
    print(f.tell()) # 打印当前指针位置
    print(f.read()) # 读完文件后,指针在最尾处
    f.seek(0) # 如要重头到尾再读,文件指针须先回到文件头(0-文件头,默认值; 1-当前位置; 2-文件尾)
    print(f.read()) # 重读文件
    print(f.encoding) # 打印当前使用的字符编码
    print(f.name) # 打印文件名
    print(f.flush()) # 刷新
    f.truncate() # 清空文件
    f.truncate(12) # 从头开始,第12个字符后截断并清除
    f.close() # 关闭文件

    抟扶摇而上者九万里
  • 相关阅读:
    NetCore与 NET Framework 不同的地方
    vue学习一
    C#基础
    css基础学习
    多线程相关教程
    IIS 配置网站
    C#控制台项目更改运行文件
    实现一个自适应网页用到的css知识
    如何让手机一直保持流畅
    TCP/IP网路协议复习
  • 原文地址:https://www.cnblogs.com/fengting0913/p/15214457.html
Copyright © 2020-2023  润新知