问题描述
我需要你的帮助。 我是 Python 的半初学者,我想创建一个程序,允许我将文件夹 A 的内容(在本例中为照片)复制到另一个文件夹 B。 但是,文件夹 B 的内容可能已经包含文件夹 B 中的文件。
所以我需要避免复制它们或之后删除重复项。 (名字就够了,不用查尺码等) 我想到了在两个嵌套的“for”循环的帮助下可以检测到相同名称的列表。我认为这不是最明智的解决方案。
你会如何将它翻译成 python?
非常感谢您的帮助。
我在网上发现:https://gist.github.com/vinovator/a2ba7306e829bf3a9010
PS:我的最终目标是创建一个带有连接到 HDD 和 SD 卡端口的 rasbperry 的盒子,只要我将 Sd 卡插入“插槽”,就可以自动保存新图片。
解决方法
您好,获取每个文件夹的 path list
并将它们转换为 set
,以便您发现两个文件夹之间的区别。
import glob
folderA = glob.glob("pathTofolderA")
folderB = glob.glob("pathTofolderB")
diffA = list(set(folderA) - set(folderB))
diffB = list(set(folderB) - set(folderA))
根据您正在寻找的差异,您的答案是 diffA
或 diffB
。有关此处设置的更多信息:https://realpython.com/python-sets/#operating-on-a-set