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 for循环中的陷阱详解

    Python for循环中的陷阱详解

    这篇文章主要给大家介绍了关于Python for循环中陷阱的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Python3.6连接MySQL的详细步骤

    Python3.6连接MySQL的详细步骤

    在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实现高效的数据存取操作,本文将介绍如何在Python 3.6环境中通过​​pymysql​​库连接到MySQL数据库,需要的朋友可以参考下
    2025-04-04
  • JS设计模式之责任链模式实例详解

    JS设计模式之责任链模式实例详解

    这篇文章主要介绍了JS设计模式之责任链模式,结合实例形式详细分析了责任链模式的概念、原理、功能、使用场景及相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 在Django框架中编写Contact表单的教程

    在Django框架中编写Contact表单的教程

    这篇文章主要介绍了在Django框架中编写Contact表单的教程,Django是Python特色各异的框架中最有人气的一个,需要的朋友可以参考下
    2015-07-07
  • python启动应用程序和终止应用程序的方法

    python启动应用程序和终止应用程序的方法

    今天小编就为大家分享一篇python启动应用程序和终止应用程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python中input和raw_input的一点区别

    Python中input和raw_input的一点区别

    这篇文章主要介绍了Python中input和raw_input的一点区别,它们都是用来读取控制台输入的函数,需要的朋友可以参考下
    2014-10-10
  • 详解tensorflow训练自己的数据集实现CNN图像分类

    详解tensorflow训练自己的数据集实现CNN图像分类

    本篇文章了tensorflow训练自己的数据集实现CNN图像分类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Pytorch抽取网络层的Feature Map(Vgg)实例

    Pytorch抽取网络层的Feature Map(Vgg)实例

    今天小编就为大家分享一篇Pytorch抽取网络层的Feature Map(Vgg)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django执行指定脚本的几种方法

    Django执行指定脚本的几种方法

    这篇文章主要给大家介绍了关于Django执行指定脚本的几种方法,文中通过实例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • Python中NameError的变量未定义问题的原因及解决方案

    Python中NameError的变量未定义问题的原因及解决方案

    NameError是Python编程中常见的错误之一,通常表示程序尝试访问一个未定义的变量或名称,这种错误对于新手来说尤其常见,本文系统性总结NameError的常见原因、调试技巧及解决方案,需要的朋友可以参考下
    2025-06-06

最新评论