iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python3怎么读取文件指定行
  • 792
分享到

使用python3怎么读取文件指定行

2023-06-15 05:06:26 792人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

使用python3怎么读取文件指定行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.readlines(

使用python3怎么读取文件指定行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

行遍历实现

python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到Python的file.readline()进行迭代式的逐行读取:

filename = 'hello.txt'with open(filename, 'r') as file:    line = file.readline()    counts = 1    while line:        if counts >= 50000000:            break        line = file.readline()        counts += 1

这里我们的实现方式是先用一个with语句打开一个文件,然后用readline()函数配合while循环逐行加载,最终通过一个序号标记来结束循环遍历,输出文件第50000000行的内容。该代码的执行效果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real    0m10.359suser    0m10.062ssys     0m0.296s

可以看到这里的耗时为10s多一些。

linecache实现

虽然在python的readline函数中并没有实现读取指定行内容的方案,但是在另一个库linecache中是实现了的,由于使用的方式较为简单,这里直接放上代码示例供参考:

filename = 'hello.txt'import linecachetext = linecache.getline(filename, 50000000)

该代码的执行结果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real    0m11.904suser    0m5.672ssys     0m6.231s

虽然在实现方式上简化了许多,但是我们发现这个实现的用时超过了11s,还不如我们自己手动实现的循环遍历方案。因此如果是对于性能有一定要求的场景,是不建议采用这个方案的。

命令行sed获取

我们知道用linux系统本身自带的sed指令也是可以获取到文件指定行或者是指定行范围的数据的,其执行指令为:sed -n 50000000p filename即表示读取文件的第50000000行的内容。同时结合python的话,我们可以在python代码中执行系统指令并获取输出结果:

filename = 'hello.txt'import osresult = os.popen('sed -n {}p {}'.fORMat(50000000, filename)).read()

需要注意的是,如果直接运行os.system()是没有返回值的,只有os.popen()是有返回值的,并且需要在尾巴加上一个read()的选项。该代码的执行结果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real    0m2.532suser    0m0.032ssys     0m0.020s

可以看到直接使用sed指令的执行速度很快,但是用这种方法并不是一本万利的,比如以下这个例子:

filename = 'hello.txt'import osresult = os.popen('sed -n {}p {}'.format(500, filename)).read()

我们把读取第50000000行内容改为读取第500行的内容,再运行一次程序:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real    0m2.540suser    0m0.037ssys     0m0.013s

python主要应用领域有哪些

1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为python开发。3.人工智能应用,基于大数据分析深度学习而发展出来的人工智能本质上已经无法离开python。4、系统运维工程项目自动化运维的标配就是python+Django/flask。5、金融理财分析,量化交易,金融分析。6、大数据分析。

看完上述内容,你们掌握使用python3怎么读取文件指定行的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: 使用python3怎么读取文件指定行

本文链接: https://www.lsjlt.com/news/277712.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python3怎么读取文件指定行
    使用python3怎么读取文件指定行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.readlines(...
    99+
    2023-06-15
  • python怎么读取csv文件指定行
    要读取 CSV 文件的指定行,可以使用 Python 的 csv 模块结合文件读写操作。下面是一个示例代码:```pythonimp...
    99+
    2023-09-15
    python
  • java中怎么使用resourcebundle读取指定文件
    在Java中,可以通过`ResourceBundle`类来读取指定的文件。首先,确保指定的文件为一个属性文件(即后缀名为`.prop...
    99+
    2023-09-28
    java
  • 使用python3怎么读取python2中的npy文件
    这篇文章给大家介绍使用python3怎么读取python2中的npy文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上...
    99+
    2023-06-14
  • java怎么读取文件指定编码
    Java中可以使用InputStreamReader类来读取指定编码的文件。下面是一个读取UTF-8编码文件的示例代码:javaim...
    99+
    2023-10-18
    java
  • matlab读取excel怎么指定行列
    在MATLAB中读取Excel文件并指定行列可以通过以下步骤实现: 使用xlsread函数读取Excel文件,语法如下: [nu...
    99+
    2024-03-01
    matlab
  • go怎么读取日志文件指定编码
    在Go语言中,可以使用os.Open()函数打开日志文件,并使用bufio.NewReader()函数创建一个带缓冲的读取器。然后,...
    99+
    2023-10-21
    go
  • 如何使用Python读取.xlsx指定行列
    目录引言一、读取工作表内容(.xlsx转化为DataFrame)二、获取指定行指定列数据(DataFrame转化为numpy.ndarray)三、数据处理(numpy.ndarray...
    99+
    2024-04-02
  • 怎么使用filechannel读取文件
    要使用FileChannel读取文件,可以按照以下步骤进行操作: 打开一个文件Channel,可以使用FileInputStrea...
    99+
    2023-10-23
    filechannel
  • linux怎么逐行读取文件
    在Linux中,可以使用以下几种方法逐行读取文件: 使用cat命令配合管道和while循环逐行读取文件: cat filenam...
    99+
    2024-02-29
    linux
  • Java怎么按行读取文件
    在Java中,可以使用BufferedReader来按行读取文件。下面是一个简单的例子: import java.io.Buffer...
    99+
    2024-03-05
    Java
  • python怎么读取文件行数
    在Python中,可以使用`readlines()`方法来读取文件的行数。具体操作如下: with open('file.txt',...
    99+
    2023-10-27
    python
  • python读取csv数据怎么指定行列
    在Python中读取CSV数据并指定行列可以使用pandas库。下面是一个简单的示例: import pandas as pd #...
    99+
    2024-03-01
    python
  • PHP从文件指针中读取一行
    这篇文章将为大家详细讲解有关PHP从文件指针中读取一行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 从文件指针中读取一行 引言 从文件指针中读取一行对于处理文本文件至关重要。PHP提供了多种用于此...
    99+
    2024-04-02
  • python3 文件的读取和通用操作
    import os           # 当前操作目录,os.chdir() 切换操作目录 >>> import os >>> os.getcwd() 'C:\\ProgramFiles\\Pyth...
    99+
    2023-01-31
    操作 文件
  • 使用python怎么读取txt文件
    这期内容当中小编将会给大家带来有关使用python怎么读取txt文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。(1)txt的切割读取对应内容   (2)时间差计算txt文...
    99+
    2023-06-14
  • 怎么使用Python读取xml文件
    本篇内容介绍了“怎么使用Python读取xml文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是xml?xml即可扩展标记语言,它可...
    99+
    2023-07-06
  • 怎么使用python open读取文件
    要使用Python的open函数来读取文件,你需要使用以下步骤:1. 打开文件:使用open函数打开文件,并传入文件路径和打开模式作...
    99+
    2023-09-14
    python
  • 使用python怎么读取文件名
    这篇文章给大家介绍使用python怎么读取文件名,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、...
    99+
    2023-06-14
  • 怎么使用J2SE读取Properties文件
    小编给大家分享一下怎么使用J2SE读取Properties文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用J2SE读取Properties文件的六种方式:1...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作