我怎样才能找到jpg。从给定文件夹的列表中的文件并将其复制到另一个文件夹位置?

时间:2014-05-28 17:06:55

标签: python image list batch-file jpeg

我正在从事电子商务工作,我需要从特定的skus列表中找到skus / image jpg文件。我有一个大型文件夹,大约有5000多个jpg图像,需要找到主列表中每个列表的所有图像。我还需要将这些图像复制到每个图像skus列表的另一个文件夹位置。

例如

图像文件名为" 800061_test.jpg" ,列表文件可以是txt。,excel或csv。会将每个jpg文件列为" 800061_test"

该匹配图像skus列表具有大约1500个skus,其中每个图像需要不同量的重复。所以我可能有400个图像skus,每个需要2个重复的图像,而我也可能有10,30,50,100个图像列表skus需要10,20,30或40个图像重复每个sku。

我发现了单独的蝙蝠。文件将为我复制文件夹中的图像,但我无法找到一个蝙蝠。将从图像文件夹中的列表中查找的文件代码,并将找到的图像复制到另一个文件夹中。所以我真的需要每个图像skus列表在这件事的最后有自己的文件夹。所以它可能像75个新文件夹。

有人可以帮忙吗?提前致谢

**我基本上需要能够将文件夹中的图像复制到另一个文件夹,而不是逐个手动查找和复制/粘贴每个文件夹400多个图像。但我还需要通过已编译的图像skus列表来完成此操作。所以我将要做大约75次,因为我有一个匹配图像jpgs的图像skus列表。

**示例:我有400个单独的产品skus,所有需要重复2次,每个匹配的图像skus为:image_01.jpg,image_02.jpg。我有一个以前用过的蝙蝠。通过改变" count =#"来复制这些文件的文件。这让我得到了#34; _02"。但是我需要批量进行操作并在其中包含大约8000个图像的文件夹中填充所有400个图像。因此,无论是需要2个欺骗还是100个欺骗,每个SKU都需要能够被搜索并找到并复制到文件夹中。

1 个答案:

答案 0 :(得分:2)

以下是使用glob从Notepad ++文件夹中检索所有.dll文件的示例。然后,您可以从完整路径中获取文件名。

import glob
glob.glob("D:\Program Files\Notepad++\*.dll")

输出

['D:\\Program Files\\Notepad++\\iconv.dll',
 'D:\\Program Files\\Notepad++\\libxml2.dll',
 'D:\\Program Files\\Notepad++\\libxslt.dll',
 'D:\\Program Files\\Notepad++\\NppShell_06.dll',
 'D:\\Program Files\\Notepad++\\SciLexer.dll',
 'D:\\Program Files\\Notepad++\\zlib1.dll']

现在有了列表理解,我们将剥离路径以获得文件名。

import os
[os.path.basename(i) for i in glob.glob("D:\Program Files\Notepad++\*.dll")]

输出

['iconv.dll',
 'libxml2.dll',
 'libxslt.dll',
 'NppShell_06.dll',
 'SciLexer.dll',
 'zlib1.dll']

获得文件列表后,请查看shutil.copy将其复制到其他文件夹。