如何使用 Python 定位两个名称相同的文件并检查它们是否相等?
How can I use Python to locate two files with identical names and check if they're equal?
总结:如何使用 Python 定位两个具有相同名称(在已知位置)的文件,并使用哈希查看它们是否相同。
我目前有两个文件夹,Folder1 和 Folder2。我想弄清楚如何让 Python 通过 Folder1 逐个文件移动文件。对于每个文件(它是一个 .jpg 图像),我想 使用哈希为图像获取唯一的整数并将文件名复制到字符串 。从这个字符串中,我计划在 Folder2 中找到该图像的潜在相同副本,然后使用散列来查看它们是否相同。
我是 Python 的新手,这是我在 Stack Overflow 上的第一个 post。如果有任何我应该包括的信息或我不清楚的地方,请告诉我,我会尽快回复。谢谢,也感谢Ares推荐使用hash。
比较文件大小真的不够,是吗?您可以轻松地拥有两个文件,文件夹 A 中的 a.jpg 和文件夹 B 中的 a.jpg。它们都是 16 kb,只是一个是狗的图片,一个是猫的图片。
可能有价值的是 hash
列表中的每张图片。在 Python 中,您可以获取任何内容 - 数字、字符串、图像等 - 并对其调用 hash()
。
散列是一组特定数据的数字表示。除非有一些罕见的例外,散列 完全 对于该数据是唯一的。没有其他数据集,除了那些完全相同的数据集,将具有该散列。
一些例子:
> hash('test')
会输出
2314058222102390712
> hash('Test')
-1504849438355502056
This question describes how to load an image in Python. Then, just call hash
on each image. This 描述了哈希是什么,如果我不清楚的话。
总结:如何使用 Python 定位两个具有相同名称(在已知位置)的文件,并使用哈希查看它们是否相同。
我目前有两个文件夹,Folder1 和 Folder2。我想弄清楚如何让 Python 通过 Folder1 逐个文件移动文件。对于每个文件(它是一个 .jpg 图像),我想 使用哈希为图像获取唯一的整数并将文件名复制到字符串 。从这个字符串中,我计划在 Folder2 中找到该图像的潜在相同副本,然后使用散列来查看它们是否相同。
我是 Python 的新手,这是我在 Stack Overflow 上的第一个 post。如果有任何我应该包括的信息或我不清楚的地方,请告诉我,我会尽快回复。谢谢,也感谢Ares推荐使用hash。
比较文件大小真的不够,是吗?您可以轻松地拥有两个文件,文件夹 A 中的 a.jpg 和文件夹 B 中的 a.jpg。它们都是 16 kb,只是一个是狗的图片,一个是猫的图片。
可能有价值的是 hash
列表中的每张图片。在 Python 中,您可以获取任何内容 - 数字、字符串、图像等 - 并对其调用 hash()
。
散列是一组特定数据的数字表示。除非有一些罕见的例外,散列 完全 对于该数据是唯一的。没有其他数据集,除了那些完全相同的数据集,将具有该散列。
一些例子:
> hash('test')
会输出
2314058222102390712
> hash('Test')
-1504849438355502056
This question describes how to load an image in Python. Then, just call hash
on each image. This 描述了哈希是什么,如果我不清楚的话。