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