zoukankan      html  css  js  c++  java
  • 文件操作-seek、tell、flush

    f = open(r"E:workspace est est2 ttttt.txt","w+")
    print(f.tell()) #告诉我们当前位置
    f.write("test line 1 ") #13个字节  算2个
    f.flush() #刷新文件内部缓冲区,让文件直接写入
    print(f.tell())
    f.write("test line 2 ")
    print(f.tell())
    f.close()

    注意:

    flush()是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

    一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法

    f = open(r"E:workspace est est2 ttttt.txt","rb")
    print(f.tell())
    f.seek(5,1) #5偏移的字符量 1代表从当前位置开始算起
    print(f.tell())
    print(f.readline())
    f.close()

    注意:

    用seek在我这里只能是b模式打开

    seek()的三种模式:

    (1)f.seek(p,0) 移动当文件第p个字节处,绝对位置

    (2)f.seek(p,1) 移动到相对于当前位置之后的p个字节

    (3)f.seek(p,2) 移动到相对文章尾之后的p个字节


    一切技术都是为业务服务,脱离业务的技术一文不值!

  • 相关阅读:
    java 异常捕获机制
    读取java当前路径的文件输出在控制台
    java 简易记事本 程序
    java 利用文件输入输出流实现文件复制
    IutputStreamWriterDemo
    OutputStreamWriterDemo
    Longest Substring Without Repeat Characters
    Add Two Numbers
    Two Sum
    使用 Canvas 绘图
  • 原文地址:https://www.cnblogs.com/bubutianshu/p/10817941.html
Copyright © 2011-2022 走看看