gpt4 book ai didi

Python:根据文件名将文件移动到文件夹

转载 作者:行者123 更新时间:2023-12-03 20:17:11 24 4
gpt4 key购买 nike

我有一个包含 10 张图像的文件夹,我希望根据它的当前文件名将其移动到一个新文件夹中。我已经成功地将文件夹中的每个图像移动到一个新文件夹中,到目前为止我已经成功地将每个图像文件名移动到了它自己的文件夹中,但我还没有弄清楚如何移动所有图像相同的文件名放入一个文件夹,另一个放入另一个文件夹。例如下面我想相应地移动图像。

  • 1600_01.jpg ---> 文件夹 1
  • 1700_01.jpg ---> 文件夹 1
  • 1800_02.jpg ---> 文件夹 2
  • 1900_02.jpg ---> 文件夹 2
  • 2000_03.jpg ---> 文件夹 3
  • 2100_03.jpg ---> 文件夹 3

  • 到目前为止,这是我通过基于文件名创建新文件夹将图像文件移动到新文件夹的代码。我得到了制作文件夹的部分,但是当它为所有图像创建单独的图像文件夹时我很困惑。
    import os, shutil, glob

    #Source file
    sourcefile = 'Desktop/00/'

    # for loop then I split the names of the image then making new folder
    for file_path in glob.glob(os.path.join(sourcefile, '*.jpg*')):
    new_dir = file_path.rsplit('.', 1)[0]
    # If folder does not exist try making new one
    try:
    os.mkdir(os.path.join(sourcefile, new_dir))
    # except error then pass
    except WindowsError:
    pass
    # Move the images from file to new folder based on image name
    shutil.move(file_path, os.path.join(new_dir, os.path.basename(file_path)))

    这是我运行脚本后得到的结果。
    This is what I got after I ran my script

    但是,我正在尝试做的如下图所示:
    Goal

    最佳答案

    您可以尝试使用 os.path.exists() 来检查文件夹是否存在,如果存在则将 jpg 复制到其中。顺便说一句,如果您使用复制会更好,因为当您使用移动时,如果您做错了什么,您基本上会混淆所有内容。

    import os, shutil

    os.chdir("<abs path to desktop>")

    for f in os.listdir("folder"):
    folderName = f[-6:-4]

    if not os.path.exists(folderName):
    os.mkdir(folderName)
    shutil.copy(os.path.join('folder', f), folderName)
    else:
    shutil.copy(os.path.join('folder', f), folderName)

    enter image description here

    关于Python:根据文件名将文件移动到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49893501/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com