【问题标题】:How to perform the linux equivalent of "cp -r" in python如何在python中执行相当于“cp -r”的linux
【发布时间】:2017-09-18 17:53:03
【问题描述】:

如何在 Python 中递归复制目录 (cp -r)?

os.copytree 产生FileExistsError: [Errno 17] File exists:

distutils.dir_util.copy_tree 引发AttributeError: module 'distutils' has no attribute 'dir_util'

如何在 Python 中对cp -r 执行 linux 等效操作?

【问题讨论】:

  • 使用子进程的一种方法是:import subprocesssubprocess.call('cp -r source destination', shell=True)
  • system("cp -r") 可能适合你

标签: python linux python-3.x file-copying


【解决方案1】:

使用distutils,如果您注意到AttributeError,您可能希望像这样导入:

import distutils
from distutils import dir_util
distutils.dir_util.copy_tree("sourceDir", "dstDir")

或者,您可以使用subprocess

import subprocess
subprocess.call('cp -r sourceDir dstDir', shell=True)

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 1970-01-01
    • 2011-06-25
    • 2012-08-25
    • 2019-07-14
    • 2012-05-27
    • 2014-12-22
    • 2018-06-23
    相关资源
    最近更新 更多