isdir()、listdir()、汇总多个文件夹内的照片

本文介绍了如何使用Python的os和shutil模块,通过isdir()、listdir()和copy()函数,遍历多层文件夹中的.jpg、.jpeg和.png格式照片,并将它们移动到指定的目标文件夹中。
摘要由CSDN通过智能技术生成

isdir()、listdir()、汇总多个文件夹内的照片

  • 在Python中可以使用os.path.isdir()函数判断某一路径是否为目录

    import os
    os.path.isdir(path)
    
  • 在Python中可以使用os.path.isfile()函数判断某一路径是否为文件

    import os
    os.path.isfile(path)
    
  • 在Python中可以使用os.listdir()函数列出路径下的所有的文件

    import os
    os.listdir(path)
    

例子:假设有一个总文件夹,在此文件夹下面有若干个子文件夹,每个子文件夹内都有若干张照片(可能包含其他文件类型的文件),我们要把这些照片全部放到一个新的文件夹内

import os
import shutil

# 指定总文件夹路径
total_folder = "path"

# 遍历总文件夹,获取子文件夹路径列表
# os.path.join()函数用于路径拼接文件路径,可以传入多个路径
# 判断总文件夹下的文件是否为文件夹
subfolders_list = [os.path.join(total_folder, subfolder) for subfolder in os.listdir(total_folder) if
              os.path.isdir(os.path.join(total_folder, subfolder))]

# 照片最终放入的目标文件夹路径
target_folder = 'path'

# 遍历源文件夹
for folder in subfolders_list:
    files = os.listdir(folder)
    for file in files:
        if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png'): # 注意文件标识的大小写
            source_path = os.path.join(folder, file)   # 原来的图片路径
            target_path = os.path.join(target_folder, file)  # 计划存到的图片路径
            shutil.copy(source_path, target_path)  # 复制,前面必须为文件,后面为目录或者文件

print('照片已成功放置到目标文件夹中!')
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值