有没有一种方法可以跨多个文件(在本例中是日志文件)执行regex,其中正则表达式可能在一个文件中匹配开始条件,在下一个文件中按文件名顺序匹配结束条件?你知道吗
我需要匹配日志文件中的事件,其中事件的开始理论上可以接近一个文件的结尾,而事件的结束可以接近下一个文件的开始。你知道吗
到目前为止,我一直在读取所有的文件,并将它们连接成一个字符串并在其中进行regexing——然而,我最终遇到了这样一种情况:这样做会导致MemoryError
(一天的日志文件总量似乎在800MB左右)。你知道吗
我想知道是否有一种方法可以直接跨文件执行此操作,这样我就不必在内存中的变量中维护所有内容了?或者,如果有另一种方法可以提高内存效率?你知道吗
注意:操作系统是Windows7
按顺序一次处理一个文件,但当您找到事件开始行时,请记下文件和看到它的行。当你找到事件的终点线,你就会知道你需要做的一切。你知道吗
如果您使用的是类Unix操作系统(Linux、macOS),则可以使用系统工具。
cat *.log | grep 'REGEX'
。如果需要,可以使用subprocess.run()
从Python脚本运行它。你知道吗相关问题 更多 >
编程相关推荐