在python中复制除.jpg和.png文件以外的所有文件和文件夹。

问题描述 投票:0回答:2

文件夹结构。

rootfoder:
    subfoler1:
        image.jpg
    subfoler2:
        image.png
        text.txt
    subfoler3

我需要把根目录下的所有文件复制到des目录下,但是.jpg和.png文件不应该被复制,空的文件夹也应该被复制。

可以用python中的任何lib来完成吗?

python python-3.x directory copy subdirectory
2个回答
0
投票

使用shutil来完成这个任务。

import shutil

shutil.copytree('/tmp/source', '/tmp/target' , ignore=shutil.ignore_patterns('*.jpg', '*.png'))

shutil提供了一个ignore_patterns函数来跳过某些文件的树形复制。

HTH,ferdy


0
投票

我想加一个 "荣誉提名",即使我赞同ferdy使用shutil。

from dirsync import sync
sync("./Frog", "./Throat", action="sync", ignore=[".*py",".*jpg"], create=True)

https:/github.comtkhyndirsync。

它似乎是作为rsync的一个命令行工具替代品而编写的,并增加了存储配置文件的选项,但它可以从python中调用,并完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.