【问题标题】:copy all files and folder inside a dir except .jpg and .png files in python复制目录中的所有文件和文件夹,除了 python 中的 .jpg 和 .png 文件
【发布时间】:2020-09-04 07:12:30
【问题描述】:

文件夹结构:

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

我必须将根文件夹内的所有文件/文件夹复制到 des 文件夹。 但是.jpg和.png文件不能复制,空文件夹也要复制。

这可以在 python 中使用任何库来完成吗?

【问题讨论】:

  • 是的。这是可以做到的。 os.listdir 可用于查找文件/目录,shutil.copy(和其他几个)可用于复制。
  • 你能提供一个代码吗?我都使用了,但我无法排除 .jpg 和 .png 文件并同时复制空目录。
  • 我无法提供任何代码建议,因为您的程序不够具体。您应该已经提供了代码的框架,然后就有机会提出修改建议。

标签: python python-3.x directory copy subdirectory


【解决方案1】:

我想添加一个“荣誉奖”,即使我第二次使用 shutil:

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

来自https://github.com/tkhyn/dirsync

它似乎是作为 rsync 的替代命令行实用程序编写的,并添加了存储配置文件的选项,但它可以从 python 调用并完成这项工作。

【讨论】:

    【解决方案2】:

    为此使用shutil:

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

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

    HTH, 费迪

    【讨论】:

      猜你喜欢
      • 2018-05-19
      • 1970-01-01
      • 2015-01-03
      • 2020-07-02
      • 2021-04-07
      • 1970-01-01
      • 2019-11-21
      • 2010-11-20
      相关资源
      最近更新 更多