仅将目录中的图像移动到新目录
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))
我有一个包含 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))