zoukankan      html  css  js  c++  java
  • 文件的操作之指针移动

    要点:

    指针的移动都是以bytes为单位的,但是只有在t模式下的read(n),这里的n代表的是字符个数。

    with open('aaa.txt',mode='rt',encoding='utf-8') as f:
        res=f.read(4)
        print(res)
        # 读取四个字符

    一、f.seek(n,模式):n指的是移动的字节个数

    # 模式0:参照物是文件开头位置
    f.seek(9,0)
    f.seek(3,0) # 3

    # 模式1:参照物是当前指针所在位置
    f.seek(9,1)
    f.seek(3,1) # 12

    # 模式2:参照物是文件末尾位置,应该倒着移动
    f.seek(-9,2) # 3
    f.seek(-3,2) # 9
    # 强调:只有0模式可以在t下使用,1、2必须在b模式下用

    二、f.tell()获取文件指针当前位置

    with open('aaa.txt',mode='rb') as f:
        f.seek(9,0)
        f.seek(3,0) # 3
        print(f.tell())
    # b模式下先将指针从开头移到第三个字节,然后开始读取并用utf-8# 解码。
    with open('aaa.txt',mode='rb') as f:
        f.seek(3,0)
        res=f.read()
        print(res.decode('utf-8'))

    ps:0,1模式下的指针移动不受文件长度影响,2模式下指针最多可以移到0


  • 相关阅读:
    安卓第三次作业
    安卓第二次作业
    十三周作业
    2020年5月28日
    十二周上机练习
    十一周作业
    2020年5月14日
    2020年5月7日上机练习
    第九周练习
    Online Tristesse
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12541723.html
Copyright © 2011-2022 走看看