学习python读取文件操作,发现没有合适的api可以一次读取文件中的n行到内存中,readline 和readlines 要么读取一行,要么全部读取,无法实现题目要求。当然两者都有一些读取n个字符的api但是这样读取的数据没有实际意义,不知道有没哪个大神知道怎么处理?为什么python和很多其他语言都没有类似的api
学习python读取文件操作,发现没有合适的api可以一次读取文件中的n行到内存中,readline 和readlines 要么读取一行,要么全部读取,无法实现题目要求。当然两者都有一些读取n个字符的api但是这样读取的数据没有实际意义,不知道有没哪个大神知道怎么处理?为什么python和很多其他语言都没有类似的api
是不是你理解题目的单次错了,即使读单行,底层也是一个字符逐个判断的,人家是不是让你封装一个方法
要实现的功能是,每次加载10行内容到内存代码中处理。
你都知道读取一行了,那读取n行有什么难度
https://www.zhihu.com/question/322716666?utm_id=0
当你使用 Python 内置的 open() 函数读取文本文件时,其默认行为是一次性将整个文件内容读取到内存中,并以字符串列表的形式返回。因此,如果你直接使用 readlines() 方法读取文件内容,可能会出现内存问题。
为了避免这种情况,你可以分批次读取文件内容,每次读取固定数量的行数据,处理完后再读取下一批数据。这样,可以控制读取的数据量,降低内存压力。另外,分批次读取文件内容的方式也更加适合处理大型文件,例如处理超过几十 GB 的日志文件等。
至于为什么不能直接读取10行,这是因为文本文件的行数是不确定的,而且每一行的长度也可能不同。如果你想要读取指定行数的数据,需要先进行一次全局读取,统计文件总行数或使用其他方法确定截取位置,然后通过切片操作读取指定行数的数据。
----GPT一下。