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’模式一样

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

     
  • 相关阅读:
    go案例:客户管理系统流程 mvc模式 分层设计
    珠峰2016,第9期 vue.js 笔记部份
    前后端分离电商,业务逻辑部份
    'Specifying a namespace in include() without providing an app_name '报错解决
    vue2.0 前端框架
    vue项目实战
    电商网前后端分离数据表设计部份
    djang2.1教育平台02
    django框架开发流程
    测试的艺术:测试用例的设计
  • 原文地址:https://www.cnblogs.com/MY0213/p/7768433.html
Copyright © 2011-2022 走看看