我真的很想知道如何将包含其他文件夹的文件夹复制到特定目录。
我已创建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))
另一个问题是,我无法选择要复制的文件夹,因为其中有其他文件夹。
答案 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()复制单个文件。