如何使用python复制文件和目录结构/路径?

时间:2012-10-11 15:18:36

标签: python file directory copy

我必须在这里提一下,我是python的新手。

现在我有一个文件位于:

a/long/long/path/to/file.py

我想使用新创建的文件夹复制到我的主目录:

/home/myhome/new_folder

我的预期结果是:

/home/myhome/new_folder/a/long/long/path/to/file.py

有没有现有的图书馆可以做到这一点?如果不是,我该如何实现?

2 个答案:

答案 0 :(得分:66)

要创建所有中级目标目录,可以在复制之前使用os.makedirs()

import os
import shutil

srcfile = 'a/long/long/path/to/file.py'
dstroot = '/home/myhome/new_folder'


assert not os.path.isabs(srcfile)
dstdir =  os.path.join(dstroot, os.path.dirname(srcfile))

os.makedirs(dstdir) # create all directories, raise an error if it already exists
shutil.copy(srcfile, dstdir)

答案 1 :(得分:24)

看看shutilshutil.copyfile(src, dst)会将文件复制到另一个文件中。

请注意,shutil.copyfile不会创建尚不存在的目录。为此,请使用os.makedirs