当前位置: 代码网 > it编程>前端脚本>Python > 使用python将一个文件分配到指定的多个文件夹

使用python将一个文件分配到指定的多个文件夹

2025年01月20日 Python 我要评论
文件准备再dir文件夹中有如下一些子目录,子目录中没有任何文件这是di文件夹中的内容这是一张样本图片我要实现的功能就是通过代码将这个样板图片分配到dir中所有的文件夹下代码准备import shuti

文件准备

 再dir文件夹中有如下一些子目录,子目录中没有任何文件 

这是di文件夹中的内容

这是一张样本图片 

我要实现的功能就是通过代码将这个样板图片分配到dir中所有的文件夹下 

代码准备

import shutil
import os
 
def distribute_file_to_subfolders(file_path, target_directory):
    """
    将指定文件复制到目标目录的所有子文件夹中。
    参数:
    file_path (str): 要复制的文件路径。
    target_directory (str): 目标根目录,其中的所有子文件夹将成为复制的目标。
    """
    if not os.path.isfile(file_path):
        print("指定的文件不存在。")
        return
    
    if not os.path.isdir(target_directory):
        print("目标目录不存在。")
        return
 
    # 遍历目标目录的所有子文件夹
    for root, dirs, _ in os.walk(target_directory):
        for dir_name in dirs:
            subfolder_path = os.path.join(root, dir_name)
            dest_path = os.path.join(subfolder_path, os.path.basename(file_path))
            
            # 复制文件到子文件夹
            shutil.copy(file_path, dest_path)
            print(f"文件已复制到: {dest_path}")
 
# 示例用法
file_path = "d:/400-file/000-project/000-pycharm/005-csdn_file/003-copyfileto-alldictory/template.png"  # 要复制的文件
target_directory = "d:/400-file/000-project/000-pycharm/005-csdn_file/003-copyfileto-alldictory/target_directory"  # 包含子文件夹的目标根目录
 
distribute_file_to_subfolders(file_path, target_directory)

可供修改的位置

file_path = "d:/400-file/000-project/000-pycharm/005-csdn_file/003-copyfileto-alldictory/template.png"  # 要复制的文件
target_directory = "d:/400-file/000-project/000-pycharm/005-csdn_file/003-copyfileto-alldictory/target_directory"  # 包含子文件夹的目标根目录

代码可供修改的位置只有这两个,一个是待分配文件的路径,另外一个是指定子文件夹的母文件夹的路径 

运行结果

运行之后,可以发现所有的文件夹中都分配了指定的文件 

到此这篇关于使用python将一个文件分配到指定的多个文件夹的文章就介绍到这了,更多相关python文件分配内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com