【问题标题】:Using python to separate files on local drive使用python分隔本地驱动器上的文件
【发布时间】:2023-01-10 15:02:20
【问题描述】:

我的电脑上有几个图像/文件。所有这些都是这样开始的 1214455.jpeg 每个图像要么是猫要么是狗。数字是可以在数据库中找到的序列号。 我想将猫和狗的图像分开,并将它们放入两个单独的文件夹中。 每个图像都有一个名称,即相同的序列号。 我希望能够使用序列号/名称的元组作为字符串来查找猫和狗的名字。然后将它们分开。

source_dir = "C:\\file1"

目的地目录 = ( “C:\猫” )

目的地目录 = ( “C:\狗” )

file_names = os.listdir(source_dir)

文件 = os.listdir(source_dir)

输出=(“123344”,“345566”,“8888887”)

对于文件中的 file_name_i: # for file_name_i in os.listdir(current_dir): # 在子文件夹中搜索 # 如果文件以列表中的数字字符串开头,如果不放在 health 中,则放在 cancer 文件夹中 如果 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")

此代码仅删除每个图像。它无法将动物分开。

【问题讨论】:

  • 您有一个源目录。一个目录中不能有多个同名文件。癌症?健康?猫?小狗?一切都很混乱

标签: python file debugging move shutil


【解决方案1】:

shutil.move 有 3 个参数 (source, destination, copy_function),您分别传递 (source, destination, copy_function="cats")copy_function="dogs"

将第三个参数留空(除非您想使用复制功能),而不是 destination_dir 分别使用 f"{destination_dir}/cats"f"{destination_dir}/dogs"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-28
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多