我必须在这里提一下,我是python的新手。
现在我有一个文件位于:
a/long/long/path/to/file.py
我想使用新创建的文件夹复制到我的主目录:
/home/myhome/new_folder
我的预期结果是:
/home/myhome/new_folder/a/long/long/path/to/file.py
有没有现有的图书馆可以做到这一点?如果不是,我该如何实现?
答案 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)
看看shutil
。 shutil.copyfile(src, dst)
会将文件复制到另一个文件中。
请注意,shutil.copyfile
不会创建尚不存在的目录。为此,请使用os.makedirs