zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Python File seek() 方法和File read()方法

2023-03-20 14:59:59 时间

read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有

语法

read() 方法语法如下:

fileObject.read([size]); 

参数

  • size -- 从文件中读取的字节数,默认为 -1,表示读取整个文件。

返回值

返回从字符串中读取的字节。

a.txt
1:www.heart62.com
2:www.heart62.com
3:www.heart62.com
4:www.heart62.com
5:www.heart62.com
# 打开文件
f = open("a.txt", "rw+")
print( "文件名为: ", f.name)

line = f.read(10)
print( "读取的字符串: %s") % (line)

# 关闭文件
f.close()

结果;

文件名为:  a.txt
读取的字符串: 1:www.hear

seek() 方法用于移动文件读取指针到指定位置

语法

seek() 方法语法如下:

fileObject.seek(offset[, whence])

参数

  • offset -- 开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始

  • whence:可选,默认值为 0。给 offset 定义一个参数,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,1 代表从当前位置开始算起,2 代表从文件末尾算起。

返回值

如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1

seek函数有三种模式:

1) f.seek(p, 0) 或 f.seek(p)

将文件读取指针移动到文件的第p个字节处,表示绝对位置。f.seek(0)移动到文件头位置。

2) f.seek(p, 1)

在当前位置的基础上,将文件读取指针移动p个字节,表示相对位置。

3) f.seek(p, 2)

在文件尾的基础上,将文件读取指针移动p个字节,表示相对位置。f.seek(0, 2)移动到文件尾位置。

 f = open('workfile', 'rb+')
f.write(b'0123456789abcdef')
#16
f.seek(5)      # 移动到文件的第六个字节
#5
 f.read(1)
#b'5'
 f.seek(-3, 2)  # 移动到文件倒数第三个字节
#13
 f.read(1)
#b'd'

参考文章:Python的seek函数_阿喵阿汪-CSDN博客_python seek