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


  • 相关阅读:
    简单区间dp
    【题解】石子合并
    【2019.7.6】刷题记录
    【题解】大朋友的数字
    【基础】dp系列1
    【题解】垃圾陷阱
    【题解】导弹拦截
    hadoop各组件安装(非专业人士,不定期更新)
    python逼格提升
    python第三十二天-----算法
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12541723.html
Copyright © 2011-2022 走看看