将包含少数其他文件夹的文件夹复制到特定目录

时间:2016-04-13 07:05:21

标签: python wxpython

我真的很想知道如何将包含其他文件夹的文件夹复制到特定目录。

我已创建wx.FileDialog以查找原始文件夹(path_origin)并指定new_directory(将原始文件复制到的目录)

以下是我的代码

import os
import wx
import shutil


def transfer_folder():

app = wx.PySimpleApp()


    dialog1 = wx.FileDialog(None, 'Select file:','','')
    if dialog1.ShowModal() == wx.ID_OK:
        path_origin=dialog1.GetCurrentlySelectedFilename()

wildcard = "Nastran Input (*.bdf; *.dat; *.nas)|*.bdf;*.dat;*.nas|" \
    "All files (*.*)|*.*"
    dialog = wx.FileDialog(None, 'Select file:','','',wildcard)
    if dialog.ShowModal() == wx.ID_OK:
        new_directory=dialog.GetPath()

shutil.copy2(str(path_origin), str(new_directory))

另一个问题是,我无法选择要复制的文件夹,因为其中有其他文件夹。

1 个答案:

答案 0 :(得分:2)

你可以尝试使用copytree吗?

shutil.copytree(str(path_origin), str(new_directory))

https://docs.python.org/2/library/shutil.html支持copytree

shutil.copytree(src,dst,symlinks = False,ignore = None)

以递归方式复制以src为根的整个目录树。目标目录(由dst命名)必须不存在;它将被创建以及缺少父目录。使用copystat()复制目录的权限和时间,使用shutil.copy2()复制单个文件。