python读取指定字节及位置的文件内容

   现在有一个xl.txt文档,内容如下:

   AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD

 

   可以通过open()函数来打开文件,比如:

   >>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")

  

   可以利用tell()函数查看在文件中的当前位置,以字节为单位,比如:

   >>> f.tell()
     0L

   这里还没对文件做任何处理,所以在文件的起始处,位置为0L

   接下来就是通过seek()函数,来指定在文件中的位置了。说明,seek()有两个参数,其中第二个参数只有0,1,2三种,假设第一个参数为X, 0表示从文件开始处移动到文件的X字节处。比如:

   >>> f.seek(8,0)
     >>> f.tell()
     8L

     >>> fs = f.read()
    >>> fs
    'BBBBBBBBCCCCCCCCDDDDDDDD'

   1表示移动到相对于当前位置X字节的地方,比如现在是在第8个字节处:

   >>> f.seek(9,1)

   >>> f.tell()
   17L
   >>> fs = f.read()
   >>> fs
   'CCCCCCCDDDDDDDD'

   2表示相对于文件末尾的位置,比如:

   >>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")
   >>> f.seek(-12, 2)
   >>> f.tell()
   20L
   >>> fs = f.read()
   >>> fs
   'CCCCDDDDDDDD'

 

   通过seek()函数,我们可以方便的指定在文件中的读取位置,至于读取的字节数目么就要靠read()函数了,只需要加入需要读取的字节数参数就可以了,比如,我要从第8个字节开始读取13个字节:

   >>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")
   >>> f.seek(8,0)
   >>> fs = f.read(13)
   >>> fs
   'BBBBBBBBCCCCC'

  

 

 

   

  

 

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值