python读取log文件数据(python读取grib)

http://www.itjxue.com  2023-04-11 20:27  来源:未知  点击次数: 

有几千个TXT格式的log文件,怎么用Python批量提取每个log文件固定位置的具体数值,输出到一个TXT文件?

1.将这些TXT文件先合并

2.找到这些具体数值的特征

3.用正则表达式过滤提取

这阵子正学习python,不介意可以发给我,练着玩

Python 读取log文件并提取错误信息的功能,不知道如何实现

楼 下的回答提从zipfile里读取文件,至于lovejie1214问的是如果用正则表达式提取。

统计数据及类型需要一个dict,

读日志通常可以用csv提高速度。因为不知道你的文件格式这里不好直接写程序。

types={}

while not_end:

line=fp.readline()

m=re.search("(?isu)Short Msg:(.*)",line)

if m:

try:

types[m.group(1).strip()]+=1

except KeyError:

types[m.group(1).strip()]=1

for k in types:

print k,types[k]

python 读取日志文件

#?-*-?coding:utf-8?-*-

from?datetime?import?datetime?as?dt

with?open('log.txt','r')?as?f:

????for?i?in?f:

????????if?dt.strftime(dt.now(),'%Y-%m-%d')?in?i:?

????????????#判断是否当天时间

????????????if?'ERROR'?in?i?and?'at?com.mytijian'?in?i:?

????????????????#判断此行中是否含有?'ERROR'及'at?com.mytijian'

????????????????if?((dt.now()-dt.strptime(i.split(',')[0],?'%Y-%m-%d?%H:%M:%S')).seconds)45*60:

????????????????????#判断时间是为当前45分钟内

????????????????????print?i

如何用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个字节

(责任编辑:IT教学网)

更多

推荐word文章