如何使用python复制文件以及目录结构/路径? [复制]
Posted
技术标签:
【中文标题】如何使用python复制文件以及目录结构/路径? [复制]【英文标题】:How to copy a file along with directory structure/path using python? [duplicate] 【发布时间】:2012-10-02 07:41:33 【问题描述】:首先要在这里提一下,我是 python 新手。
现在我有一个文件位于:
a/long/long/path/to/file.py
我想复制到我的主目录并创建一个新文件夹:
/home/myhome/new_folder
我的预期结果是:
/home/myhome/new_folder/a/long/long/path/to/file.py
是否有任何现有的图书馆可以做到这一点?如果没有,我该如何实现?
【问题讨论】:
你去,这已经解释了***.com/questions/1994488/… 可能是docs.python.org/library/shutil.html#shutil.copyfile ? @Anderson Green:它不是重复的。如果交换问题,则接受的答案将不起作用。它们密切相关(在 Python 中复制内容);它不会使它们相同。请在下次投票结束前阅读完整的问题并查看答案。 前段时间,但一般来说,如果有类似但不相同的问题,一个好的策略是在自己的问题中引用现有的问题,并说明自己的问题有何不同。 【参考方案1】:要创建所有中级目标目录,您可以在复制之前使用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)
【讨论】:
最后一行,dstdir是一个目录,应该是``` os.makedirs(dstdir) dstfile = os.path.join(dst, src) shutil .copyfile(src, dstfile) ``` @RebornJs:copy()
支持将目录作为第二个参数(注意:copy() 与 copyfile())
哦,谢谢。我正在编写我的第一个 python 脚本,对现有库不太了解。
拼写错误,在'assert not os.path.isabs(scrfile)' 行中scrfile
到srcfile
【参考方案2】:
看看shutil
。 shutil.copyfile(src, dst)
将一个文件复制到另一个文件。
请注意,shutil.copyfile
不会创建尚不存在的目录。为此,请使用os.makedirs
【讨论】:
以上是关于如何使用python复制文件以及目录结构/路径? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中使用独立于平台的实现复制文件夹及其内容(文件/子目录)
将文件从多个(指定)文件夹路径复制到另一个目录,同时保持文件结构
读取文件夹中的所有文件以及python中的文件名? [复制]