zoukankan      html  css  js  c++  java
  • python3 文件读写操作中的文件指针seek()使用

    python中可以使用seek()移动文件指针到指定位置,然后读/写。通常配合 r+ 、w+、a+ 模式,在此三种模式下,seek指针移动只能从头开始移动,即seek(x,0) 。

    模式 默认 写方式 与seek()配合---写 与seek()配合---读
    r+ 文件指针在文件头部,即seek(0) 覆盖
    f = open('test.txt','r+',encoding='utf-8')

    f.seek(3,0)
    f.write('aaa') #移动文件指针到指定位置,再写
    f = open('test.txt','r+',encoding='utf-8')

    f.seek(3,0)
    f.read() #移动文件指针到指定位置,读取后面的内容
    w+ 文件指针在文件头部,即seek(0) 清除    f = open('test.txt','w+',encoding='utf-8')

    f.seek(3,0)
    f.write('aaa') #清除文件内容,移动文件指针到指定位置,再写
       f = open('test.txt','w+',encoding='utf-8')

    f.write('aaa')

    f.seek(3,0)

    f.read()#清除文件内容写入,移动文件指针到指定位置,读取后面内容
    a+ 文件指针在文件尾部,即seek(0,2) 追加

       f = open('test.txt','a+',encoding='utf-8')

       f.seek(3,0)

       f.write('aaa') #直接在文件末尾写入,seek移动指针不起作用

     同 r+

    (1)seek(offset[,whence]):

    (2)offset--偏移量,可以是负值,代表从后向前移动;

    (3)whence--偏移相对位置,分别有:os.SEEK_SET(相对文件起始位置,也可用“0”表示);os.SEEK_CUR(相对文件当前位置,也可用“1”表示);os.SEEK_END(相对文件结尾位置,也可用“2”表示)。 

     seek(x,0):表示指针从开头位置移动到x位置

     seek(x,1):表示指针从当前位置向后移动x个位置

     seek(-x,2):表示指针从文件结尾向前移动x个位置

    例:file.seek(-1,2),文件指针从文件末尾向前移动一个字符,配合read相关方法/函数可读取该字符。

      

    模板看起来是不是太过冰冷
  • 相关阅读:
    声律启蒙(上 下卷,珍藏版)
    笠翁对韵(全卷,珍藏版附注释)
    Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
    Groovy
    spring各版本jar包和源码
    Java 调用翻译软件实现英文文档翻译
    oracle导出序列的几种办法
    Oracle数据库内存使用情况分析查看
    window Maven私服搭建——nexus
    用户管理的备份与恢复
  • 原文地址:https://www.cnblogs.com/xuexizongjie/p/10674306.html
Copyright © 2011-2022 走看看