zoukankan      html  css  js  c++  java
  • python中的文件操作(2)

    a+,w+,r+的特点:

    r+:r+模式允许读和写,当对文件句柄只进行写操作时,tell(),seek()为写操作的‘指针’(也就是写到seek()处)。

         当只进行读操作时,tell(),seek()为读操作的‘指针’也就是从seek()处开始)。

      当两者都有时,写操作只能追加(写在文件末尾),但是seek()指针会增加(增加大小为追加的内容的字节数),读操作时,seek()指针也会增加(增加大小为读出的内容的字节数)。seek()只会影响读操作。

    f = open('小猪猪大人', 'r+', encoding='utf-8')
    print(f.tell())
    f.seek(3)
    f.write('abccsfvdv哇哈哈啊哇哈哈dsa')
    print(f.readline(3))
    print(f.tell())
    f.seek(f.tell())
    f.write('defdsaffa')
    print(f.readline(3))
    print(f.tell())
    f.close()

    w+:w+模式允许读和写,当对文件句柄只进行写操作时,tell(),seek()为写操作的‘指针’(也就是写到seek()处)。

         当只进行读操作时,tell(),seek()无作用,w模式会清空所有内容,没有内容可以读。

      当两者都有时,写操作和读操作共同使用seek()和tell()函数。读写都会影响seek指针。seek指针确定读写的位置。

    f = open('小猪猪大人', 'w+', encoding='utf-8')
    print(f.tell())
    f.seek(3)
    f.write('abccsfvdv哇哈哈啊哇哈哈dsa')
    f.seek(6)
    print(f.readline(3))
    print(f.tell())
    f.seek(3)
    f.write('defdsaffa')
    # print(f.readline(3))
    print(f.tell())

    a+:a+模式允许读和写,当对文件句柄只进行写操作时,tell(),seek()影响不大,写操作只能追加,写操作后tell()自动跳到文件尾。

         当只进行读操作时,seek()为读操作的起始指针。读后tell()增大。此时与‘r’模式一样

      当两者都有时,写操作为追加,会将指针指向末尾,读操作时从指针处开始读,指针移动(增加)读出的字节数。

     
  • 相关阅读:
    性能测试三:jmeter进阶之图形插件
    性能测试二:jmeter参数化+聚合报告
    性能测试一:jmeter基础入门
    pytest十六:allure2 生成 html 报告
    pytest十五:pytest-html 生成 html 报告
    Confluence 6 Cron 表达式
    Confluence 6 任务的类型
    Confluence 6 查看一个任务的执行历史
    Confluence 6 禁用或者重新启用一个任务
    Confluence 6 手动运行和修改
  • 原文地址:https://www.cnblogs.com/MY0213/p/7768433.html
Copyright © 2011-2022 走看看