zoukankan      html  css  js  c++  java
  • python3文件的读写操作

    open函数:对文件进行读写操作前,先打开文件,获取文件的句柄:

    open(file, mode, encoding, buffering)

    参数说明

    file_name:一个包含了你要访问的文件路径及文件名称的字符串值。尽量使用绝对路径

    access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r)

    打开文件模式:

    r:只读模式

    w:只写模式【不可读,不存在,则创建;存在,则清空重写】

    x:只写模式【不可读,不存在,则创建;存在,则报错】

    a:追加模式【不可读,不存在,则创建;存在,则追加写入】

    “+”表示可同时读写文件

    r+:读写

    w+:读写【不存在,则创建;存在,则清空重写】

    x+:读写【不存在,则创建;存在,则报错】

    a+:读写【不存在,则创建;存在,则追加写入】

    “b”以字节的方式操作

    rb或r+b:以二进制格式打开

    wb或w+b:以二进制格式写入【不可读,不存在,则创建;存在,则清空重写】

    xb或x+b:以二进制格式写入【不可读,不存在,则创建;存在,则报错】

    ab或a+b:以二进制格式追加写入【不可读,不存在,则创建;存在,则追加写入】

    注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型

    buffering:

    1. buffering默认为-1,系统默认的全缓冲
    2. buffering可以设置为大于1的任意整数,字节数为buffering的全缓冲
    3. buffering=1,设置为行缓冲模式
    4. buffering=0, 设置为无缓冲模式

    获取文件信息:

    open.close():刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

    open.closed:判断文件是否关闭;关闭返回True,未关闭返回folse

    open.mode:返回被打开文件的访问模式

    open.truncate(size):用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

    如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

    open.name:返回文件的名称

    open.encoding:返回文件打开的编码格式

    open.fileno():返回文件在系统中的编号

    open.tell():返回光标当前所在的位置;以字符长度进行计数

    open.seek(num1,  num2):将光标移动到某个位置;num1:移动的字符长度; num2:偏移的位置起始,0、1、2代表文件开始位置、当前位置、文件末尾

    open.flush():将缓存区的内容写入到磁盘

    对文件进行读操作:

    open.read(size):从光标开始读取内容;size参数:读取的字符长度,未填写则读取所有

    open.readline():读取文件中一行的内容

    open.readlines():将文件中所有的内容读取到内存中【一般不建议使用】

    open.readable():判断文件打开方式是否可读;True:可读。False:不可读

    对文件进行写操作:

    open.write(size):从光标所在的位置开始写入,默认是不加换行的

    open.writelines(seq):把seq(序列)的内容全部写到文件中(多行一次性写入)。也不会自动加入换行符。注意:序列中的内容也必须是字符串类型的数据,才能成功写入文件。

    open.writable():判断文件打开方式是否可写;True:可写。False:不可写

  • 相关阅读:
    gain 基尼系数
    luogu P5826 【模板】子序列自动机 主席树 vector 二分
    牛客挑战赛39 树与异或 离线 树上莫队 树状数组 约数
    4.22 省选模拟赛 三元组 manacher 回文自动机
    4.22 省选模拟赛 最优价值 网络流 最大权闭合子图
    4.18 省选模拟赛 消息传递 树剖 倍增 线段树维护等比数列
    luogu P4008 [NOI2003]文本编辑器 splay 块状链表
    牛客挑战赛39 密码系统 后缀数组
    luogu P1526 [NOI2003]智破连环阵 搜索+最大匹配+剪枝
    luogu P4095 [HEOI2013]Eden 的新背包问题 多重背包 背包的合并
  • 原文地址:https://www.cnblogs.com/gxfaxe/p/9506487.html
Copyright © 2011-2022 走看看