zoukankan      html  css  js  c++  java
  • Python3 文件操作详解

     

    文件操作的步骤:

    打开文件 -> 操作文件 -> 关闭文件

    切记:最后要关闭文件(否则可能会有意想不到的结果)

    打开文件

    文件句柄 = open('文件路径', '模式')

    指定文件编码

    文件句柄= open('文件路径','模式',encoding='utf-8') 

    为了防止忘记关闭文件,可以使用上下文管理器来打开文件

    with open('文件路径','模式') as 文件句柄:

    打开文件的模式有:

    r,只读模式(默认)。

    w,只写模式。【不可读;不存在则创建;存在则删除内容;】

    a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    r+,可读写文件。【可读;可写;可追加】

    w+,写读

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    rU

    r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    rb

    wb

    ab

    关闭文件

    文件句柄.close()

    操作文件:

    detach

    #占位

    fileno(返回文件描述符,用于底层操作系统的 I/O 操作)

    fid = 文件句柄.fileno()

    print(fid)

    flush(刷新缓冲区,将缓冲区中的数据立刻写入文件)

    文件句柄.flush()

    isatty(判断文件是否连接到一个终端设备,返回布尔值)

    文件句柄.isatty()

    read(从文件中读取指定的字符数,默认读取全部)

    str = 文件句柄.read()      #读取整个文件

    str1 = 文件句柄.read(10)   #读取文件前10个字符

    readable(判断文件是否可读,返回布尔值)

    文件句柄.readable()

    readline(每次最多读取一行数据,每行的最后包含换行符' ')

    print(文件句柄.readline())   #读取第一行数据

    print(文件句柄.readline(3))  #读取第二行前3个字符

    print(文件句柄.readline())   #读取第二行剩余字符

    print(文件句柄.readline())   #读取第三行

    seek(移动文件读取的指针,如果文件中包含中文,移动指针必须是3的倍数,不然会报错,因为一个中文字符等于3个字节)

    文件句柄.seek(6)

    seekable(判断文件指针是否可用,返回布尔值)

    文件句柄.seekable()

    tell(获取指针位置)

    文件句柄.tell()

    truncate(截断,把指针后面的内容删除,并写入文件,要在可写模式下操作)

    f = open('text.txt','r+',encoding='utf-8')

    f.seek(9)   #把指针移动到第9个字节后面(即第3个中文后面)

    f.truncate()  #把第3个中文后面的字符删除,并写入文件

    f.close()

    writable(判断文件是否可写,返回布尔值)

    文件句柄.writable()

    write(把字符串写入文件,并返回字符数)

    文件句柄.write('字符串')

  • 相关阅读:
    编写测试类实现并发访问固定URL(亲测能用!!!)
    java项目添加log4j打印日志+转换系统时间
    springboot项目没错,但就是报红叉
    我想查看数据库名,输入命令:select name from v$database;为什么会说表和视图不存在
    DRUID连接池的实用 配置详解+使用方法+监控方式(太强大了!!!)
    Druid连接池 属性说明
    springBoot2.2.0+mybatis-xml文件方式+Oracle11g+jsp页面,实现简单的CRUD
    s5-12 RIP
    s5-12 RIP
    s5-13 RIP 为什么会 衰败
  • 原文地址:https://www.cnblogs.com/zhangguilin/p/7323596.html
Copyright © 2011-2022 走看看