2016-04-13 10 views
0

他のフォルダを含むフォルダを特定のディレクトリにコピーする方法を知りたいです。いくつかのフォルダを含むフォルダを特定のディレクトリにコピーする

私は以下

は私のコード

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)) 
ある原点フォルダ(path_origin)を見つけ、 new_directory(元のファイルをにコピーされるディレクトリ)を指定するために見つけることが wx.FileDialogを作成しました

別の問題は、その中に他のフォルダがあるので、コピーするフォルダを選択できないということです。

答えて

2

copytreeを使用できますか?

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

https://docs.python.org/2/library/shutil.html再帰的にSRCをルートディレクトリツリー全体をコピーcopytree

shutil.copytree(SRC、DST、シンボリックリンク= Falseを、無視する=なし)

をサポートしています。 dstで指定された宛先ディレクトリは、すでに存在してはいけません。親ディレクトリが見つからないだけでなく作成されます。ディレクトリのパーミッションと時間はcopystat()でコピーされ、個々のファイルはshutil.copy2()でコピーされます。

+0

私はコピーしたいフォルダを選択できないという問題があります。私がフォルダを選択し、私はfiledialogでOKをクリックすると、それはフォルダに入るので、私は本当にフォルダをコピーできません。あなたはこれを解決する方法を知っていますか? – maximus

+0

私はwxpythonの専門家ではありませんが、 "wx.FileDialog"の代わりに "wx.DirDialog"を使用してみることはできますか? https://bytes.com/topic/python/answers/751284-wxpython-filedialog-select-folder – Yaron

+0

を参照してください。参照:http://www.java2s.com/Tutorial/Python/0380__wxPython/ChooseadirectoryfromDirDialog.htm – Yaron

関連する問題