zoukankan      html  css  js  c++  java
  • 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() # 关闭文件

    抟扶摇而上者九万里
  • 相关阅读:
    python--模块与包
    内置函数 的总结
    迭代器 生成器 列表推导式 生成器表达式的一些总结
    函数的有用信息 带参数的装饰器 多个装饰器装饰一个函数
    函数名的应用(第一对象) 闭包 装饰器
    动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结
    函数的初识 函数的返回值 参数
    文件操作 常用操作方法 文件的修改
    遍历字典的集中方法 集合的作用 以及增删查的方法
    计算机硬件的小知识
  • 原文地址:https://www.cnblogs.com/fengting0913/p/15214457.html
Copyright © 2011-2022 走看看