python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python文件定位

Python中的文件定位方式

作者:菇毒

这篇文章主要介绍了Python中的文件定位方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python文件定位

1. 文件定位

用 Python 的 open()打开一个文件后,都有一个指针指向文件的开始文职,read()函数读取一个文件后,指针将后移动相应的数目。

例子1:

2021-7-16

2. tell()函数

tell()函数可以让你知道文件內的当前位置(下次读写会发生在文件开头这么多字节之后)。

例子2:

2021-7-16

3. seek()函数

seek ( offest [ , from ] ) 函数改变当前文件的位置,offest 表示要移动的字节数,from 变量指定开始移动字节的参考位置。

若 from 参数被设置为 0 ,这意味着将文件的开头作为移动字节的参考位置;若设为1,则使用为当前的位置作为参考位置;若设置为2,那么该文件的末尾将作为参考位置。

例子3:

2021-7-16

python文件的定位读写

上文说到,文件的打开,关闭,追加,写入,读写。

但是我们没有实现从指定的位置进行读取啊。我想要1000行后面的东西,但也不能从开头读取吧,忒不方便哦,但是,强大的python还是有解决办法滴。

获取当前读写的位置(tell)

#打开一个已经存在的文件
f = open('test.txt','r')
read_r = f.read(3)
print('读取的数据是:',read_r)
#查看文件位置
position = f.tell()
print('当前文件位置:',position)
read_r = f.read(3)
print('读取的数据是:',read_r)
position = f.tell()
print('当前文件位置:',position)
f.close()

用**tell()**的方法可以查看当前在文件中所读取数据的位置

定位到某个位置seek(offset,from)

# 打开一个已经存在的文件
f = open("test.txt", "r")
str = f.read(30)
print "读取的数据是 : ", str
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
# 重新设置位置
f.seek(5,0)
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
f.close()

在代码中,读取了内容后,读出当前的位置,让后在重新设置位置,从重新设置的位置 开始在次读取。

这就是实现了定位去读写。

注意:

在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常。就是说,没有用二进制打开的,只允许从开头进行计算位置。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文