【发布时间】:2012-08-08 04:24:55
【问题描述】:
我有一个将消息记录到文件的进程。
我想实现另一个进程(在 Python 中)解析这些日志(因为它们被写入文件),过滤我感兴趣的行,然后根据第一个进程的状态执行某些操作。
在我继续自己编写一些东西之前,我想知道是否有 Python 中的库可以做这样的事情。
此外,我们将不胜感激有关如何实现类似 Python 的想法。
谢谢。
【问题讨论】:
-
库是做什么的?过滤行并执行操作?这是一种非常普遍的任务。 ETA:哦,我明白了,你的意思是跟踪新写的行。
-
有可能在您的日志文件中使用
p = subprocess.Popen(['tail -f', file_name], stdout=subprocess.PIPE),然后重复使用p.stdout.readline()。只是一个想法 -
请记住,使用
tail -F并不适用于所有系统。话虽这么说,这将使实现变得非常容易。 -
如果您不需要将日志文件用于任何其他目的,您可以将其替换为命名管道(参见
mkpipe手册页)。然后你会启动主进程和你的python工具,它们会连接到管道的两端,主进程写入它的任何东西都会在你的python输入流中结束。 -
@MvG - 我不控制主进程,所以我认为我不能使用命名管道。