python拆分canlog,python拆分文本文件

本文目录一览:

如何用 python 分析网站日志

日志的记录

Python有一个logging模块,可以用来产生日志。

(1)学习资料

前边几篇文章仅仅是其它人的简单学习经验,下边这个链接中的内容比较全面。

(2)我需要关注内容

日志信息输出级别

logging模块提供了多种日志级别,如:NOTSET(0),DEBUG(10),

INFO(20),WARNING(30),WARNING(40),CRITICAL(50)。

设置方法:

logger = getLogger()

logger.serLevel(logging.DEBUG)

日志数据格式

使用Formatter设置日志的输出格式。

设置方法:

logger = getLogger()

handler = loggingFileHandler(XXX)

formatter = logging.Formatter(“%(asctime)s %(levelname) %(message)s”,”%Y-%m-%d,%H:%M:%S”)

%(asctime)s表示记录日志写入时间,”%Y-%m-%d,%H:%M:%S“设定了时间的具体写入格式。

%(levelname)s表示记录日志的级别。

%(message)s表示记录日志的具体内容。

日志对象初始化

def initLog():

logger = logging.getLogger()

handler = logging.FileHandler(“日志保存路径”)

formatter = logging.Formatter(“%(asctime)s %(levelname) %(message)s”,”%Y-%m-%d,%H:%M:%S”)

handler.setFormatter(formatter)

logger.addHandler(handler)

logger.setLevel

写日志

logging.getLogger().info(), logging.getLogger().debug()……

2. 日志的分析。

(1)我的日志的内容。(log.txt)

2011-12-12,12:11:31 INFO Client1: 4356175.0 1.32366309133e+12 1.32366309134e+12

2011-12-12,12:11:33 INFO Client1: 4361320.0 1.32366309334e+12 1.32366309336e+12

2011-12-12,12:11:33 INFO Client0: 4361320.0 1.32366309389e+12 1.32366309391e+12

2011-12-12,12:11:39 INFO Client1: 4366364.0 1.32366309934e+12 1.32366309936e+12

2011-12-12,12:11:39 INFO Client0: 4366364.0 1.32366309989e+12 1.32366309991e+12

2011-12-12,12:11:43 INFO Client1: 4371416.0 1.32366310334e+12 1.32366310336e+12

2011-12-12,12:11:43 INFO Client0: 4371416.0 1.32366310389e+12 1.32366310391e+12

2011-12-12,12:11:49 INFO Client1: 4376450.0 1.32366310934e+12 1.32366310936e+12

我需要将上述内容逐行读出,并将三个时间戳提取出来,然后将其图形化。

(2) 文件操作以及字符串的分析。

打开文件,读取出一行日志。

file = file(“日志路径”,“r”)

while True:

line = file.readline()

if len(len) == 0:

break;

print line

file.close()

从字符串中提取数据。

字符串操作学习资料:

;method=viewSharedItemThroughLinksharedBy=-1137845767117085734

从上面展示出来的日志内容可见,主要数据都是用空格分隔,所以需要使用字符串的

split函数对字符串进行分割:

paraList = line.split(),该函数默认的分割符是空格,返回值为一个list。

paraList[3], paraList[4], paraList[5]中分别以字符串形式存储着我需要的时间戳。

使用float(paraList[3])将字符串转化为浮点数。

(3)将日志图形化。

matplotlib是python的一个绘图库。我打算用它来将日志图形化。

matplotlib学习资料。

matplotlib的下载与安装:

对matplotlib的宏观介绍:

对matplotlib具体使用的详细介绍:

在matplotlib中设置线条的颜色和形状:

如果想对matplotlib有一个全面的了解,就需要阅读教程《Matplotlib for Python developers》,教程下载地址:

使用实例

import matplotlib.pyplot as plt

listX = [] #保存X轴数据

listY = [] #保存Y轴数据

listY1 = [] #保存Y轴数据

file = file(“../log.txt”,”r”)#打开日志文件

while True:

line = file.readline()#读取一行日志

if len(line) == 0:#如果到达日志末尾,退出

break

paraList = line.split()

print paraList[2]

print paraList[3]

print paraList[4]

print paraList[5]

if paraList[2] == “Client0:”: #在坐标图中添加两个点,它们的X轴数值是相同的

listX.append(float(paraList[3]))

listY.append(float(paraList[5]) – float(paraList[3]))

listY1.append(float(paraList[4]) – float(paraList[3]))

file.close()

plt.plot(listX,listY,’bo-‘,listX,listY1,’ro’)#画图

plt.title(’tile’)#设置所绘图像的标题

plt.xlabel(‘time in sec’)#设置x轴名称

plt.ylabel(‘delays in ms”)#设置y轴名称

plt.show()

日志文件太大,python怎么分割文件,多线程操作

python的多线程为伪多线程,多线程并不能提高文件IO的速度,在读取文件时使用直接读取 for line in open(‘文件名’, ‘r’)  效率最高,因为此方式为直接读取,不像其它方式要把文件全部加载到内存再读取,所以效率最高。分割时文件时,提前计算好行数,把读取的每固定数量的行数存入新文件,直接读取完成,最后删除旧文件,即可实现文件分割。

示意代码:

line_count = 0

index = 0

fw = open(‘part’+str(index)+’.log’, ‘w’)

for line in open(‘filename.log’, ‘r’):

    fw.write(line)

    line_count += 1

    # 假设每10000行写一个文件

    if line_count  10000:

        fw.close()

        index += 1

        fw = open(‘part’+str(index)+’.log’, ‘w’)

fw.close()

请教python 如何分日志级别分文件输出

利用sys.stdout将print行导向到你定义的日志文件中,例如:

import sys

# make a copy of original stdout route

stdout_backup = sys.stdout

# define the log file that receives your log info

log_file = open(“message.log”, “w”)

# redirect print output to log file

sys.stdout = log_file

print “Now all print info will be written to message.log”

# any command line that you will execute

log_file.close()

# restore the output to initial pattern

sys.stdout = stdout_backup

print “Now this will be presented on screen”

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

1.将这些TXT文件先合并

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

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

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

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/276996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-19 13:20
下一篇 2024-12-19 13:20

相关推荐

  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论