Python中的文件定位方式

 更新时间:2023年08月22日 10:16:20   作者:菇毒  
这篇文章主要介绍了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)

  • offset:偏移量
  • from:方向
  • 0:表示文件开头
  • 1:表示当前位置
  • 2:表示文件末尾
# 打开一个已经存在的文件
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模式选项打开的文件,只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常。就是说,没有用二进制打开的,只允许从开头进行计算位置。

总结

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

相关文章

  • Python实战之markdown转pdf(包含公式转换)

    Python实战之markdown转pdf(包含公式转换)

    由于我们markdown编辑器比较特殊,不是很方便浏览,如果转换成pdf的话,就不需要可以的去安装各种编辑器才可以看了。所以本文将介绍如何通过Python实现md转pdf或者是docx,需要的朋友可以参考一下
    2021-12-12
  • pandas 层次化索引的实现方法

    pandas 层次化索引的实现方法

    这篇文章主要介绍了pandas 层次化索引的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python爬取热搜制作词云

    python爬取热搜制作词云

    这篇文章主要介绍了python爬取百度热搜制作词云,首先爬取百度热搜,至少间隔1小时,存入文件,避免重复请求,如果本1小时有了不再请求,存入数据库,供词云包使用,爬取热搜,具体流程请需要的小伙伴参考下面文章内容
    2021-12-12
  • Python简单连接MongoDB数据库的方法

    Python简单连接MongoDB数据库的方法

    这篇文章主要介绍了Python简单连接MongoDB数据库的方法,结合实例形式分析了Python使用pymongo模块操作MongoDB数据库的相关技巧,需要的朋友可以参考下
    2016-03-03
  • Pytorch evaluation每次运行结果不同的解决

    Pytorch evaluation每次运行结果不同的解决

    今天小编就为大家分享一篇Pytorch evaluation每次运行结果不同的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django+Xadmin构建项目的方法步骤

    Django+Xadmin构建项目的方法步骤

    这篇文章主要介绍了Django+Xadmin构建项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Python入门教程(四十一)Python的NumPy数组索引

    Python入门教程(四十一)Python的NumPy数组索引

    这篇文章主要介绍了Python入门教程(四十一)Python的NumPy数组索引,数组索引是指使用方括号([])来索引数组值,numpy提供了比常规的python序列更多的索引工具,除了按整数和切片索引之外,数组可以由整数数组索引、布尔索引及花式索引,需要的朋友可以参考下
    2023-05-05
  • 13行python代码实现对微信进行推送消息的示例代码

    13行python代码实现对微信进行推送消息的示例代码

    本文主要介绍了13行python代码实现对微信进行推送消息的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • python中不能连接超时的问题及解决方法

    python中不能连接超时的问题及解决方法

    这篇文章主要介绍了python中不能连接超时的问题及解决方法,需要的朋友可以参考下
    2018-06-06
  • Python实现Web指纹识别实例

    Python实现Web指纹识别实例

    这篇文章主要来带大家探索Web指纹识别:了解主流识别方式,从标题到指纹读取网站信息的简单方法,揭秘Web指纹识别 关键字、哈希和URL的魔力
    2023-10-10

最新评论