【问题标题】:Python move and overwrite folder without delete destination folder contentPython移动和覆盖文件夹而不删除目标文件夹内容
【发布时间】:2013-11-27 16:14:45
【问题描述】:

我需要将文件夹及其内容从 dir1 移动到 dir2。 Dir2 包含我不想删除的文件。如何做到这一点?

【问题讨论】:

  • 经典评论:你试过什么?
  • 刚刚找到的解决方案 - distutils.dir_util.copy_tree

标签: python copy directory move overwrite


【解决方案1】:

使用shutil package

这是一个允许您对文件执行任何操作的包。您应该预料到的唯一警告是,如果您将文件从 dir1 移动到 dir2,并且 dir2 中有一个同名文件,该文件将被删除。

您可以在进行移动之前检查 dir2 中是否存在文件。然后,您可以在进行移动之前中止移动或更改 dir2 中的文件名。无论哪种方式都有效。

这是代码

shutil.move(src, dst)

【讨论】:

    【解决方案2】:
    import os
    os.system('mv /path/to/d1 /path/to/d2')
    

    如果您有一个 *nix shell 并希望整个文件夹移动,则可以使用。

    import os
    os.rename('d1', 'd2/d1')
    

    否则

    【讨论】:

      【解决方案3】:
      import distutils.core
      distutils.dir_util.copy_tree
      

      这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2018-10-25
        • 2011-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多