• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Python中文件随机读取方法seek和tell

将文件都视为流,只能按顺序从头到尾读取。实际上,可在文件中移动,只访问感兴趣的部分(称为随机存取)。为此,可使用文件对象的两个方法:seek和tell。
方法seek(offset[, whence])将当前位置(执行读取或写入的位置)移到offset和whence指定的地方。参数offset 指定了字节(字符)数,而参数whence 默认为io.SEEK_SET(0),这意味着偏移量是相对于文件开头的(偏移量不能为负数)。参数whence 还可设置
为io.SEEK_CUR(1)或io.SEEK_END(2),其中前者表示相对于当前位置进行移动(偏移量可以为负),而后者表示相对于文件末尾进行移动。请看下面的示例:

>>> f = open(r'C:\text\somefile.txt', 'w')
>>> f.write('01234567890123456789')
20
>>> f.seek(5)
5
>>> f.write('Hello, World!')
13
>>> f.close()
>>> f = open(r'C:\text\somefile.txt')
>>> f.read()
'01234Hello, World!89'

方法tell()返回当前位于文件的什么位置,如下例所示:

>>> f = open(r'C:\text\somefile.txt')
>>> f.read(3)
'012'
>>> f.read(2)
'34'
>>> f.tell()
5

posted on 2022-08-28 15:54  SOC验证工程师  阅读(268)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3