使用python将文件复制到路径

Copying a file to a path, with Python

本问题已经有最佳答案,请猛点这里访问。

我要将某个文件复制到指定的路径。此指定路径具有许多目录层次结构,这些层次结构不预先存在,需要在复制过程中创建。

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

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

示例用法:

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


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

1
2
3
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'))

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