这个问题的简短版本是:当您使用文本编辑器打开一个文件并搜索一个术语时,您可以在找到该术语后,在显示灵活上下文的文件中四处移动。因此,作为一个直接的例子,如果你有一个日志文件,你可以用更少的时间打开它mylog.log日志搜索/莎莉。这将带您到日志文件中第一个出现的'SALLY'。然后,使用普通的导航键(上下箭头键、pg up/dwn等),您可以看到单词“SALLY”出现前后发生了什么。我想利用一个工具来实现同样的行为,但我所研究的工具似乎都不太正确。目前看来,唯一的选择是编写自己的方法来实现这一点,但这肯定是不对的。你知道吗
这个的长版本问题:我有一堆日志文件散落一地。在我的正常工作流程中,有一部分涉及到搜索这些日志文件中的值,并从这些值周围的上下文中获取信息(值得注意的是,我不能假设上下文在一组特定的行中,在看到它之前我也不知道重要的上下文是什么。)手动到处去获取这些日志文件是非常重要的总的来说,我想告诉我的代码'寻找萨利'的代码应该给我一个地方的名单(从一个已知的地方,日志文件驻留列表)在哪里'萨利'出现。然后我选择我想要的日志文件,它会打开到第一个出现的'SALLY',并从该点开始在文件中导航。你知道吗
我知道如何做到这一点,事实上,我可以并已经实现了除了最后一点的一切。使用基本IO操作,我可以:
我不能做的是找出如何让用户能够顺利地浏览日志文件。允许他们在文件中上下移动,以便查看上下文。我可以,并且已经调用了“less”(假设它在*nix系统上)并使用了它的搜索行为,但这并不是我想要的行为。我想用Python来完成这一切。你知道吗
我已经研究了弹性搜索(这似乎远远超出了我想要的),几个日志解析库(解析日志是非常直接的),并试图找到其他解决类似问题的方法。我一直找不到有类似问题的人,更不用说解决方案了,考虑到python社区,这似乎不太可能。你知道吗
我目前正在考虑实现某种自定义文件查看器。这看起来很傻。我可以利用什么来实现这种功能?你知道吗
所以,在玩了一会儿之后,我发现了一些对我很有用的东西,希望它也能对你有用。基本思想是,我们有某种迭代器(不是真正的迭代器,但因为我缺乏想象力,所以我称之为迭代器),它跟踪您正在查看的范围并返回您正在查看的当前部分。你知道吗
这只是一个快速和肮脏的解决办法,但我希望它做的工作
注意,用“u”你上一行,用“d”你下一行。问题是,之后还必须按回车键。在python中查找getch()的实现here
相关问题 更多 >
编程相关推荐