python - 在 Python 中递归复制文件或目录

标签 python

Python 似乎有复制文件的功能(例如 shutil.copy)和复制目录的功能(例如 shutil.copytree),但我没有找到任何功能处理两者。当然,检查您是要复制文件还是目录很简单,但这似乎是一个奇怪的遗漏。

真的没有像 unix cp -r 命令那样工作的标准函数,即支持目录和文件并递归复制吗?在 Python 中解决这个问题的最优雅的方法是什么?

最佳答案

建议您先调用shutil.copytree ,如果抛出异常,则使用 shutil.copy 重试.

import shutil, errno

def copyanything(src, dst):
    try:
        shutil.copytree(src, dst)
    except OSError as exc: # python >2.5
        if exc.errno in (errno.ENOTDIR, errno.EINVAL):
            shutil.copy(src, dst)
        else: raise

关于python - 在 Python 中递归复制文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994488/

相关文章:

python - 使用 PIL 在 Django 中调整图像大小两次

python - 将格式化控制字符(退格和回车)应用于字符串,无需递归

python cPickle不保存类列表

python - 将列表整理成嵌套列表

python - 无法安装 RAY

python - 使用python脚本将数据保存在python脚本上

Python列表的迭代和删除

python - 使用Jenkins和Docker运行Python脚本

python - 将列表作为值的字典与生成值的字典进行比较

python - 强制运行特定方法