在Python中以编程方式对非常大的文件执行搜索

在Python中以编程方式对非常大的文件执行搜索,python,hash,Python,Hash,我有一个大小为2.5 GB的文本文件,其中包含一些标准已知文件的哈希值。我的任务是找到文件系统中所有文件的哈希值,并将其与文本文件中存储的哈希值进行比较。如果找到匹配项,我需要在屏幕上打印“已知”,如果没有找到匹配项,我需要在屏幕上打印“未知” 因此,该任务的方法非常简单,但主要问题是该过程中涉及的文件非常庞大 有人能建议如何以优化的方式完成这项任务吗 我应该将包含哈希的文本文件导入数据库吗。如果是,那么请提供一些可能帮助我完成它的链接 其次,我可以使用什么算法进行搜索以加快搜索过程 我的首选语

我有一个大小为2.5 GB的文本文件,其中包含一些标准已知文件的哈希值。我的任务是找到文件系统中所有文件的哈希值,并将其与文本文件中存储的哈希值进行比较。如果找到匹配项,我需要在屏幕上打印“已知”,如果没有找到匹配项,我需要在屏幕上打印“未知”

因此,该任务的方法非常简单,但主要问题是该过程中涉及的文件非常庞大

有人能建议如何以优化的方式完成这项任务吗

我应该将包含哈希的文本文件导入数据库吗。如果是,那么请提供一些可能帮助我完成它的链接

其次,我可以使用什么算法进行搜索以加快搜索过程

我的首选语言是Python。

  • 在StackOverflow上搜索用于在Python中递归列出完整文件名的代码
  • 在StackOverflow上搜索返回文件哈希校验和的代码
然后使用迭代器函数列出文件。在循环内部:

  • 获取循环中当前文件的哈希校验和

  • 遍历每个散列。在循环内部:

    • 与当前文件的校验和进行比较
算法?别担心。如果遍历文件的每一行,就可以了。不要一次全部加载,也不要将其加载到数据结构(如列表或字典)中,因为可能会耗尽内存