导读:很多朋友问到关于python大文件多少行的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
python 如何反复查询大文件?
如果只是查的话,可以一次性把数据排个序,然后用二分查找之类,总之要建立一定的数据结构。还有试试sqlite数据库之类,这个python也支持
python 如何读取大文件
你可以不用一次读完存到内存里,可以一行一行的读,用.readline()读一行处理一行,这样不会占很多内存,多大的文件都没关系
如何用python最快的获取大文件的最后几行
工作中经常会遇到处理日志文件的问题:为了得到日志的最新状态,我们需要获取日志文件的最后部分行来做判断。那么,这种情况下我们应该怎么做呢?
1)常规方法:从前往后依次读取
步骤:open打开日志文件。
读取文件,获取文件的总行数。
遍历所有行,提取指定行的数据。
优点:简单,方便
缺点:当文件大了以后时间太慢,无法忍受
2)推荐方法:
步骤:open打开日志文件。
移动文件读取指针到文件末尾。
从后往前移动指针直到合适的位置。
读取文件,提取指定行的数据。
优点:时间相对固定,适合处理大文件
示例:
[python] view plain copy
logFile = open('logFilePath.log', 'r')
logFile.seek(0,2)
logFile.seek(-1000000,2)
rowCount = 0
for row in logFile.readlines()[1:]:
pass
seek():移动文件读取指针到指定位置
tell():返回文件读取指针的位置
seek()的三种模式:
(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置
(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节
(3)f.seek(p,2) 移动到相对文章尾之后的p个字节
Python 如何只读一个超大文本的前几行
Python没有这样的函数,但是可以巧妙解决:
import os
mxdPath=r"F:\res\高程点.txt"
fpa=open(mxdPath)
indexx=0
for linea in fpa.readlines():
indexx=indexx+1
linea=linea.replace("\n","")
print linea
if indexx ==50:
break
fpa.close()
首先打开文本文档或者其他类型的文档;
设置一个参数用来控制读取的行数;
开始遍历,获取数据;
当大于等于行数时,跳出循环。
求一个脚本,如何利用python(python 2.7)分割超大的文本文件?可以指定按大小或按行数
def splitfile(filename,sizelimit,forline=True):
size=0
i=1
out=open("%s.%04d"%(filename,i),'w')
for line in open(filename):
size=size+1 if forline else size+len(line)
if(sizesizelimit):
size=1 if forline else len(line)
out.close()
i+=1
out=open("%s.%04d"%(filename,i),'w')
out.write(line)
out.close()
if __name__=='__main__':
filename=raw_input("请输入要分隔的文件名:")
forline=raw_input("输入数字0按行分隔,输入其它按大小分隔(请输入:)")
forline=(int(forline)==0)
sizelimit=int(raw_input("请输入分割文件的大小:"))
splitfile(filename,sizelimit,forline)
函数splitfile的前二个参数为文件名,分割大小,,第三个参数为True时按行分割,为False时按大小分割
结语:以上就是首席CTO笔记为大家整理的关于python大文件多少行的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~