使用Python将文件复制到路径

时间:2012-10-25 10:45:13

标签: python python-3.x

我想将某个文件复制到指定的路径。此指定的路径具有许多目录的层次结构,这些目录在事先不存在并且需要在复制期间创建。

我尝试了shutil.copy*个函数,但它们似乎都要求预先创建目标路径上的目录。

是否有任何功能可以根据需要设置这些目录并复制文件?

使用示例:

copy_file('resources/foo.bar', expanduser('~/a/long/long/path/foo.bar'))

1 个答案:

答案 0 :(得分:5)

您可以使用os.makedirs递归创建所需的树枝,然后使用shutil.copy

target_dir = os.path.expanduser('~/a/long/long/path')
os.makedirs(target_dir)
shutil.copy('resources/foo.bar', os.path.join(target_dir, 'foo_bar'))

这样,您可以分解可管理任务(创建然后复制)中的问题,这可以让您处理目录创建崩溃的情况(遵循'显式优于隐式')。