文件里面有多个文件,每个文件下面有很多jpg格式的照片,把所有照片提取出来并且放在一个新的文件夹下面。
可以使用Python的os和shutil库来完成这个任务。
比如说:我的faces95文件夹下面有95个文件,每个文件下面有十七到十八个照片不等。
把所有照片提取出来可以用以下python代码:
import os
import shutil
# 设置原始文件夹和目标文件夹
data_folder = 'C:\\Users\\ljx\\Desktop\\Images'
photo_folder = 'C:\\Users\\ljx\\Desktop\\new_images'
# 创建目标文件夹
if not os.path.exists(photo_folder):
os.makedirs(photo_folder)
# 遍历所有文件夹
for root, dirs, files in os.walk(data_folder):
for file in files:
# 如果文件是jpg文件
if file.endswith('.jpg'):
# 构造原始文件路径和目标文件路径
src_path = os.path.join(root, file)
dst_path = os.path.join(photo_folder, file)
# 复制文件到目标文件夹
shutil.copyfile(src_path, dst_path)
需要修改的地方:
data_folder = ''中的改为自己的需要提取的文件路径
photo_folder = ''中的改为自己的需要放置的文件路径,默认是新建文件,自己新建也可以
# 设置原始文件夹和目标文件夹
data_folder = 'C:\\Users\\ljx\\Desktop\\faces95'
photo_folder = 'C:\\Users\\ljx\\Desktop\\new_images'
跑出来的结果在指定的文件路径中查看,比如我的在桌面上,就是
如果文件较大,需要的python运行时间会更长一点,需要耐心等待。
如果你想复制其他类型的文件,你可以更改if file.endswith(‘.jpg’)这一行的条件,就可以了。