Python 代码:查找并提取两个文件夹中的重复视频(含清晰度不同)
下面是一个检查并提取两个文件夹内部所有重复视频的Python代码的示例:\n\npython\nimport os\nfrom hashlib import md5\nfrom shutil import copy2\n\ndef get_file_hash(file_path):\n with open(file_path, 'rb') as f:\n return md5(f.read()).hexdigest()\n\ndef find_duplicate_videos(folder1, folder2, output_folder):\n # 创建一个字典来存储文件哈希值和对应的文件路径\n hash_dict = {}\n\n # 遍历第一个文件夹中的视频文件\n for root, dirs, files in os.walk(folder1):\n for file in files:\n if file.endswith('.mp4') or file.endswith('.avi') or file.endswith('.mkv'):\n file_path = os.path.join(root, file)\n file_hash = get_file_hash(file_path)\n if file_hash in hash_dict:\n # 如果哈希值已经存在于字典中,则将文件复制到输出文件夹中\n output_path = os.path.join(output_folder, file)\n copy2(file_path, output_path)\n else:\n # 否则将哈希值和文件路径添加到字典中\n hash_dict[file_hash] = file_path\n\n # 遍历第二个文件夹中的视频文件\n for root, dirs, files in os.walk(folder2):\n for file in files:\n if file.endswith('.mp4') or file.endswith('.avi') or file.endswith('.mkv'):\n file_path = os.path.join(root, file)\n file_hash = get_file_hash(file_path)\n if file_hash in hash_dict:\n # 如果哈希值已经存在于字典中,则将文件复制到输出文件夹中\n output_path = os.path.join(output_folder, file)\n copy2(file_path, output_path)\n else:\n # 否则将哈希值和文件路径添加到字典中\n hash_dict[file_hash] = file_path\n\n# 使用示例\nfolder1 = 'path/to/folder1'\nfolder2 = 'path/to/folder2'\noutput_folder = 'path/to/output_folder'\n\nfind_duplicate_videos(folder1, folder2, output_folder)\n\n\n这个代码会遍历两个文件夹中的所有视频文件,并使用MD5哈希算法计算每个视频文件的哈希值。然后,它会将哈希值和文件路径存储到一个字典中。如果两个视频文件具有相同的哈希值,则它们被视为重复视频,并将其中一个复制到输出文件夹中。\n\n请注意,这个代码只会检查文件的内容是否相同,不会比较视频的清晰度。如果你需要比较视频的清晰度,请使用适当的库或工具来处理视频文件。
原文地址: https://www.cveoy.top/t/topic/pvZW 著作权归作者所有。请勿转载和采集!