ti-enxame.com

Copie o conteúdo do diretório em um diretório com python

Eu tenho um diretório/a/b/c que tem arquivos e subdiretórios. Eu preciso copiar o/a/b/c/* no diretório/x/y/z. Quais métodos python posso usar?

Eu tentei shutil.copytree("a/b/c", "/x/y/z"), mas python tenta criar/x/y/z e gera um error "Directory exists".

47
prosseek

Eu encontrei este código funcionando.

from distutils.dir_util import copy_tree

# copy subdirectory example
fromDirectory = "/a/b/c"
toDirectory = "/x/y/z"

copy_tree(fromDirectory, toDirectory)

Referência:

97
prosseek

Você também pode usar glob2 para coletar recursivamente todos os caminhos (usando ** curinga de subpastas) e, em seguida, usar shutil.copyfile, salvando os caminhos

link glob2: https://code.activestate.com/pypm/glob2/

1
ikudyk
from subprocess import call

def cp_dir(source, target):
    call(['cp', '-a', source, target]) # Linux

cp_dir('/a/b/c/', '/x/y/z/')

Funciona para mim. Basicamente, ele executa o comando shell cp .

1
Bowen Xu