• Python正课27 —— 文件高级操作:指针的移动


    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12503359.htmll

    一:指针

    指针移动的单位都是以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指的是移动的字节个数

    1.模式0:参照物是文件开头位置

    f.seek(9,0)
    f.seek(3,0) # 3
    

    2.模式1:参照物是当前指针所在位置

    f.seek(9,1)
    f.seek(3,1) # 12
    

    3.模式2:参照物是文件末尾位置,应该倒着移动

    f.seek(-9,2) # 3
    f.seek(-3,2) # 9
    

    强调:只有0模式可以在t下使用,1、2必须在b模式下用

    三:示范

    with open('aaa.txt',mode='rb') as f:
        f.seek(9,0)
        f.seek(3,0) # 3
        # print(f.tell())
        f.seek(4,0)
        res=f.read()
        print(res.decode('utf-8'))
    
    with open('aaa.txt',mode='rb') as f:
        f.seek(9,1)
        f.seek(3,1) # 12
        print(f.tell())
    
    with open('aaa.txt',mode='rb') as f:
        f.seek(-9,2)
        # print(f.tell())
        f.seek(-3,2)
        # print(f.tell())
        print(f.read().decode('utf-8'))
    
  • 相关阅读:
    file
    shell脚本的执行
    添加源,删除源
    lsattr, chattr
    umask
    od
    init
    sync
    wc
    history
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/12503359.html
Copyright © 2020-2023  润新知