Python解析日志文件以实时提取事件

2023-11-27

我有一个将消息记录到文件的进程。

我想实现另一个进程(在Python中)来解析这些日志(当它们写入文件时),过滤我感兴趣的行,然后根据第一个进程的状态执行某些操作。

在我自己写一些东西之前,我想知道 Python 中是否有一个库可以做这样的事情。

另外,关于如何实现类似 Python 的想法将不胜感激。


C 程序通常会寻找当前位置以清除任何“文件结束”标志。但作为@9000 正确指出,python 显然会处理这个问题,因此即使它已到达文件末尾,您也可以重复读取同一文件。

不过,您可能必须处理不完整的线条。如果您的应用程序将其日志分成几部分,那么您需要确保处理整行,而不是那些部分。下面的代码将实现这一点:

f = open('some.log', 'r')
while True:
    line = ''
    while len(line) == 0 or line[-1] != '\n':
        tail = f.readline()
        if tail == '':
            time.sleep(0.1)          # avoid busy waiting
            # f.seek(0, io.SEEK_CUR) # appears to be unneccessary
            continue
        line += tail
    process(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python解析日志文件以实时提取事件 的相关文章

  • 在 Numpy 中切片后确定结果数组的形状

    我很难理解在 numpy 中切片后如何确定结果数组的形状 例如 我使用以下简单代码 import numpy as np array np arange 27 reshape 3 3 3 slice1 array 1 2 1 slice2
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • 如何从 PyCharm 项目中获取我的“exe”[重复]

    这个问题在这里已经有答案了 通过 PyCharm 在 Python 上编写一些项目 我想从中获取一个exe文件 我尝试过 另存为 gt XXX exe 但是 当我尝试执行它时出现错误 此类操作系统不支持该文件 附注 我有win7 x64 它
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • Paramiko - 使用私钥连接 - 不是有效的 OPENSSH 私钥/公钥文件

    我正在尝试找到解决方案 但无法理解我做错了什么 在我的 Linux 服务器上 我运行了以下命令 ssh keygen t rsa 这产生了一个id rsa and id rsa pub file 然后我将它们复制到本地并尝试运行以下代码 s
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 无法截取宽度为 0 的屏幕截图

    我正在尝试截取 Bootstrap 模态内元素的屏幕截图 经过一番努力 我终于想出了这段代码 driver get https enlinea sunedu gob pe driver find element by xpath div c
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • Matplotlib Scatter - ValueError:RGBA 序列的长度应为 3 或 4

    我正在尝试为我的功能绘制图表 但不断收到此错误 ValueError RGBA sequence should have length 3 or 4 每当我只有 6 种形状时 代码就可以完美运行 但现在我将其增加到 10 种 它就不起作用了
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案

随机推荐

  • 拖/放时可以使用鼠标滚轮吗?

    在 WinForms 中 调用DoDragDrop要开始拖动项目 控件不再使用鼠标滚轮滚动 并且控件的MouseWheel事件不再被调用 直到用户放下他正在拖动的任何东西 有没有办法让鼠标滚轮在拖动时工作 你可以获得全球MouseWheel
  • 如何部署 Angular 应用程序?

    一旦 Angular 应用程序进入生产阶段 如何部署它们 到目前为止我见过的所有指南 甚至在角 io 依靠 lite server 提供服务并通过 browserSync 来反映更改 但是当您完成开发后 如何发布应用程序 我是否导入所有编译
  • 如何在运行时向用户请求提升权限?

    某些以普通用户启动的应用程序会在必要时请求提升权限 例如文件管理器需要写入此类文件夹 然后继续操作 我怎样才能复制这种行为 正如 Tam s 指出的那样 您需要启动一个具有更高权利的新流程 我过去进行了很多搜索 但没有找到任何方法来提升当前
  • ASP.Net Core 2.0 - 如何从中间件返回自定义 json 或 xml 响应?

    在 ASP Net Core 2 0 中 我尝试返回带有状态代码的 json 或 xml 格式的消息 我从控制器返回自定义消息没有问题 但我不知道如何在中间件中处理它 到目前为止 我的中间件类看起来像这样 public class Head
  • .net 随机生成器是如何实现的?

    我的意思是 net c 中的标准 随机生成器 Random random new Random seed random next 我知道文献中有数十或数百种方法 但我无法找出 net框架目前使用的是哪一种 提问的原因 如果我抽取很多随机变量
  • 当类路径没有设置为jdk路径时,java编译器如何找到类文件?

    我正在尝试深入了解 java 编译 所以我收起 IDE 并开始使用 MS DOS 命令行 我创建了一个简单的项目 如下面的树中所述 示例应用程序 src pack Sample java classes 这是 Sample java 源代码
  • 如何默认选择单选按钮 - asp.net mvc 强类型 html 帮助程序

    我有一个像这样的单选按钮列表 我希望默认选择此按钮 我该怎么做呢 或者在呈现此视图的控制器操作中 model Gender Male return View model
  • HBase 扫描性能

    我正在执行范围扫描 这给了我 500k 记录 如果我设置scan setCaching 100000 花费了不到一秒钟的时间 但是如果scan setCaching 100000 未设置花了近 38 秒 如果我设置scan setBlock
  • Android VideoView无法播放视频mp4

    我使用 Android VideoView 通过 HTTP 播放视频文件 我的问题是我的手机提示 无法播放视频 抱歉 该视频无法播放 从 HTTP 播放 mp4 文件时 但是播放其他mp4视频文件就可以了 当在较新的手机 如三星 Galax
  • 抑制 Roslyn 代码分析器的问题

    有什么方法可以抑制 Roslyn 分析仪的问题吗 我使用即时分析器项目类型 如果用户想要的话 我想抑制这些问题 而且它必须是永久的 如果我重新打开 Visual Studio 仍必须应用相同的抑制规则 您可以采用与忽略普通 C 编译器警告完
  • 如何在 OpenGL (ES) 中正确渲染重合多边形

    据我了解 通过在 OpenGL ES 中设置深度函数 可以控制重叠几何图形在 3D 场景中的渲染方式 我用gl depthFunc gl LEQUAL webgl 在我的代码中 然而 当两组多边形重合且颜色不同时 生成的表面将是两种颜色的任
  • 利用sandybridge的硬件真随机数生成器?

    我想知道是否有办法利用英特尔 Sandy Bridge CPU 中基于新硬件的真数生成器 我读到英特尔的 MKL 数学内核库 公开了此功能 但这需要 MKL 套件和英特尔编译器 最终非常昂贵 是否有另一种方法可以在我的 C 代码中使用硬件随
  • 如何使用 JaXB 获取验证事件?

    我尝试使用 Jaxb 获取变量中的验证消息 尝试这里的例子http docs oracle com cd E17802 01 webservices webservices docs 1 6 api javax xml bind Unmar
  • 我是谁?如何使用 Microsoft Office 权限/用户权限

    Microsoft Office 文档 我的情况是 PowerPoint 演示文稿 可以具有受限的权限 如何以编程方式找出我的代码对给定文档拥有哪些权限 我在 MSDN 上能找到关于这个主题的所有内容是 http msdn microsof
  • 转换 unnest() 结果时 NULL emements 丢失

    我偶然发现了非常奇怪的行为unnest 在扩展数组后进行转换时 介绍 使用 unnest 可以使用三种基本语法变体 1 SELECT unnest 1 NULL 4 int AS i 2 SELECT i FROM unnest 2 NUL
  • MVC 不验证空字符串

    我有 razor 文件 其中定义了带有字符串文本框的 html 表单 using Html BeginForm Html ValidationSummary true fieldset legend Product legend div c
  • 如何使用 dom 解析器添加 php 标签

    我创建了一些具有 php doms 功能的 HTML 模板 现在我想在我的模板中添加一些 php 标签 IE input this gt dom gt createElement input input gt setAttribute ty
  • 使用 ggplot2 按日期着色的散点图

    我正在尝试绘制按日期着色的散点图 目前我正在执行以下操作 但我无法找到一种方法以良好的可读格式获取图例的日期 即使图表看起来像我想要的那样 例如 我尝试将它们格式化为 20140101 但全年都在一个小范围内 即 data cars car
  • Unicode 表情符号的 JavaScript 正则表达式

    我想用图标替换字符串中的所有表情符号 我成功替换了这些 D P 3 lt 3 XP etc 到图标 所以如果用户写 在字符串中 它将被替换为图标 但我有一个问题 如果用户直接粘贴 Unicode 等于 我需要什么 如何将 Unicode 图
  • Python解析日志文件以实时提取事件

    我有一个将消息记录到文件的进程 我想实现另一个进程 在Python中 来解析这些日志 当它们写入文件时 过滤我感兴趣的行 然后根据第一个进程的状态执行某些操作 在我自己写一些东西之前 我想知道 Python 中是否有一个库可以做这样的事情