仅将目录中的图像移动到新目录

Moving only images in a directory to a new directory

我有一个包含 N 个图像的目录,但每个图像本身都包含在一个子目录中,否则该目录是空的。它看起来像这样:

- Images
 - Image1
   - image1.jpg
 - Image2
   - image2.jpg
 - Image3
   - image3.jpg
 - Image4
...etc

我想将它移动到一个只包含图像的新目录,如下所示:

- New Directory
 - image1.jpg
 - image2.jpg
 - image3.jpg
...etc

非常感谢任何帮助。

    import os, shutil, pathlib, fnmatch
    
    def move_dir(src: str, dst: str, pattern: str = '*'):
        if not os.path.isdir(dst):
            pathlib.Path(dst).mkdir(parents=True, exist_ok=True)
        for f in fnmatch.filter(os.listdir(src), pattern):
            shutil.move(os.path.join(src, f), os.path.join(dst, f))
#easy to use
    move_dir('Images/Image1','New Directory','jpg')

来源:How to move a file in Python?

这个简单的解决方案最终对我有用:

import os

rootdir = './Images'

for subdir, dirs, files in os.walk(rootdir):
  for file in files:
    os.rename((os.path.join(subdir, file)),'./NewDirectory/'+str(file))