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

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

     
  • 相关阅读:
    Python-发送邮件
    Python基础-类的继承
    Python基础-列表推导式
    三、Linux下mysql的完整安装
    二、linux下apache2.2.11+php5.6.3的环境配置
    linux下编译安装php各种报错大集合
    一、linux下nginx1.7.8+php5.6.3的环境配置
    linux ./configure 的参数详解
    div随窗口变化设置高度
    在地图上增加标注点并为每个点增加各自的信息窗口
  • 原文地址:https://www.cnblogs.com/MY0213/p/7768433.html
Copyright © 2011-2022 走看看