找到匹配的文件夹然后复制文件和子文件夹

发布于 2025-01-08 18:26:24 字数 142 浏览 1 评论 0原文

我是 Python 新手,想要执行一项任务...我需要比较两个文件夹 dirfolder1 和 dirfolder2 中的文件夹名称...比较它们中的文件夹,如果它们匹配...复制匹配文件夹内的文件和子文件夹...

感谢您的帮助。

达迪。

Am new in Python and would like to do a task... I need to compare folder names from two folders dirfolder1 and dirfolder2... compare the folders in them and if they match...copy files and sub folders inside that matched folder...

thanks for your help.

Daddih.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花之痕靓丽 2025-01-15 18:26:24

您可以执行如下操作:

import os, shutil

dir1 = r'/path/to/dir/1'
dir2 = r'/path/to/dir/2'
copy_dest = r'/path/to/copy/dirs/to'

dir1_folders = [dir for dir in os.listdir(dir1) if os.path.isdir(os.path.join(dir1, dir))]
dir2_folders = [dir for dir in os.listdir(dir2) if os.path.isdir(os.path.join(dir2, dir))]

for dir in dir1_folders:
    if dir in dir2_folders:
        shutil.copytree(os.path.join(dir1, dir), os.path.join(copy_dest, dir))

基本上,遍历每个目录,创建其子目录列表,比较它们,对于匹配项,将它们复制(如果有任何子目录,则使用复制树)到第三个位置。

You could do something like the following:

import os, shutil

dir1 = r'/path/to/dir/1'
dir2 = r'/path/to/dir/2'
copy_dest = r'/path/to/copy/dirs/to'

dir1_folders = [dir for dir in os.listdir(dir1) if os.path.isdir(os.path.join(dir1, dir))]
dir2_folders = [dir for dir in os.listdir(dir2) if os.path.isdir(os.path.join(dir2, dir))]

for dir in dir1_folders:
    if dir in dir2_folders:
        shutil.copytree(os.path.join(dir1, dir), os.path.join(copy_dest, dir))

Basically, walk through each directory creating a list of its subdirectories, compare them, and for the matches, copy them (using copytree in case there are any subdirectories) into a third location.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文