Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python复制目录结构_Python_File_Copy - Fatal编程技术网

使用Python复制目录结构

使用Python复制目录结构,python,file,copy,Python,File,Copy,是否可以用python编写脚本来执行以下操作 Basic Operation : copy files with the proper directory structure. 给定文件名列表,程序应扫描目录,并将目录中的文件复制到维护文件夹结构的目标目录。这类似于eclipse中的“通过创建适当的子文件夹导出文件系统”功能。您可以使用 更新:您可以查看,看看它是如何实现的。更新:我刚才看到的问题是复制目录结构和文件。我下面的答案是针对没有文件的目录结构和yossi指出的python3。我仍然

是否可以用python编写脚本来执行以下操作

Basic Operation : copy files with the proper directory structure.
给定文件名列表,程序应扫描目录,并将目录中的文件复制到维护文件夹结构的目标目录。这类似于eclipse中的“通过创建适当的子文件夹导出文件系统”功能。

您可以使用


更新:您可以查看,看看它是如何实现的。

更新:我刚才看到的问题是复制目录结构和文件。我下面的答案是针对没有文件的目录结构和yossi指出的python3。我仍然想保留我的答案,希望不要被否决

我发现silviubogan投赞成票的答案对解决这个问题很有帮助(我也曾多次面对这个问题),因此我的方法如下:

shutil.copytree()
接受一个
copy\u函数
,因此您只需要一个不复制文件的复制函数。下面是对shutil.copy2()稍作修改的版本:

def copy_dir(src, dst, *, follow_sym=True):
    if os.path.isdir(dst):
        dst = os.path.join(dst, os.path.basename(src))
    if os.path.isdir(src):
        shutil.copyfile(src, dst, follow_symlinks=follow_sym)
        shutil.copystat(src, dst, follow_symlinks=follow_sym)
    return dst

然后调用
shutil.copytree(source,target,copy_function=copy_dir)
source
target

上重新创建文件夹和子文件夹结构,shutil.copytree复制函数仅在python 3I上可用。我刚刚意识到我甚至没有正确回答这个问题。当我写我的答案时,我阅读了这个问题,所以只有目录结构应该被复制,而不是文件,但事实上,文件这个问题是针对文件和文件夹的。请标记正确的答案,这对其他观众也有帮助