【发布时间】:2018-07-10 01:09:50
【问题描述】:
我需要编写一个 python 脚本来读取一个大的日志文件(1GB+),在每一行中提取 IP 地址,存储这些 IP,删除重复项,在另一个文件中找到与这些 IP 相关的主机名并将主机名重写为包含原始数据的新日志文件。
现在的问题是:处理内存、文件等的最佳方式是什么?我的意思是,我看到了两种方法:
- 读取原始日志文件,提取IP并写入新文件(
tmp_IPS.txt,删除欺骗,在另一个文件(hostnames.txt)上逐行搜索这些IP,将结果写入tmp_IPS.txt,读取和重写原始日志文件。在这种情况下,我将处理更少的 IP(没有欺骗)。 - 读取原始日志文件,读取 IP 并在 hostnames.txt 上搜索每个 IP,在原始日志文件 + 主机名上写入行。在这种情况下,我会处理很多重复的 IP。我也可以将找到的 IP 和主机名写入新文件或内存中,但我真的不知道哪个更好。
【问题讨论】: