我有几个图像/文件在我的计算机上。所有这些都像这样开始1214455. jpeg每个图像是猫或狗。数字是一个序列号,可以在数据库中找到。我想分开猫和狗的图像,并将它们放置到两个单独的文件夹中。每个图像都有一个名称,这是相同的序列号。我希望能够使用一个序列号/名称的元组作为字符串来找到猫和狗的名称。然后将它们分开。
source_dir = "C:\\ \\file1"
destination_dir = (
"C:\\ cats"
)
destination_dir = (
"C:\\ dogs"
)
file_names = os.listdir(source_dir)
files = os.listdir(source_dir)
output=("123344", "345566", "8888887")
for file_name_i in files:
# for file_name_i in os.listdir(current_dir): # to search in sub folders
# if the file starts with a number as string in the list, place in cancer folder if not place in health
if os.path.join(source_dir, file_name_i).startswith(output):
shutil.move(os.path.join(source_dir, file_name_i), destination_dir, "cats")
else:
shutil.move(os.path.join(source_dir, file_name_i), destination_dir, "dogs")
这个代码只删除了每一张图片,不能把动物分开。
1条答案
按热度按时间gwbalxhn1#
move接受3个参数
(source, destination, copy_function)
,并且分别传递(source, destination, copy_function="cats")
或copy_function="dogs"
。将第三个参数保留为空(除非要使用复制函数),并分别使用
f"{destination_dir}/cats"
和f"{destination_dir}/dogs"
代替destination_dir
。