在python中复制(im使用copytree)时排除一些子文件夹

2024-06-16 12:44:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试实现一个DIR-COPY。 我的输入是这样的。。在

    source = D/Test/Source
    Target = D/Test/Target
    Ignore_Pattern = '*.exe'
    Exclude_Sub_Folder = D/Test/Source/Backup,D/Test/Source/Backup2

我可以使用copytree中的ignore属性忽略.exe文件 就像这样

^{pr2}$

我不知道如何排除源目录中的某些子文件夹。在

请帮忙。。。。。在

谢谢


Tags: testsourcetargetdirfolderexebackupexclude
1条回答
网友
1楼 · 发布于 2024-06-16 12:44:39

可以忽略名称为Backup或Backup2的所有文件夹:

shutil.copytree(source , Target ,ignore=shutil.ignore_patterns(Ignore_Pattern, "Backup", "Backup2"))

你说:“但是我有多个名为‘Backup’的文件夹,我特别想忽略Test/Source目录中的一个。”。在这种情况下,您需要提供一个定制的忽略函数来调查完整的路径。在

^{pr2}$

(请注意to_exclude为您的特定操作系统使用正确的路径分隔符。您不希望包含“Test\Source\Backup”,因为您使用了错误的斜杠。)

相关问题 更多 >