2017-03-21 10 views
1

こんにちは、すべてのコンテンツとともに親フォルダをpythonで指定された宛先にコピーする関数があります。フォルダとその内容を一緒にコピーする関数python

私はさまざまな機能を使用していますが、親フォルダ以外のコンテンツをコピーしているようです。

感謝

+0

あなたは 'shutil.copytree()'を試しましたか?なぜ親フォルダのベースネームをデスティネーションとして作成し、その上に 'copytree'を適用するのですか? –

答えて

2

shutil.copytreeはすぐに頭に浮かぶが、あなたの問題はbarディレクトリfooをコピーするbar/fooを作成していないということです。

私の提案:

import shutil,os 

def copytree2(source,dest): 
    os.mkdir(dest) 
    dest_dir = os.path.join(dest,os.path.basename(source)) 
    shutil.copytree(source,dest_dir) 
  • 最初の目的地である先のディレクトリを、生成後、先
  • を作成するには、
  • ソースベース名を追加した新しい宛先にcopytreeを行うため、ソースフォルダ名レベルが表示されます。未満dest

destディレクトリが既に存在しているかどうかを確認することはありません。

shutilの機能には、ユーザーが必要に応じてコピーして変更するように促すメモが付いていますが、これを追加することができます(例:os.path.isdir(dest)を使用してください)。

+0

あなたの時間と答えに感謝します。私はそれにショットをつけて、それがどのように進むのかを知らせます。 – Jaff

+0

優れたソリューション。期待どおりに動作します。 :-) – Jaff

+0

ありがとうございます。私は私の終わりまでにそれをテストする時間を取ったので、私はそれもあなたのために動作すると確信していた。 –

0
import shutil 
shutil.copytree(srcDir, dst, symlinks=False, ignore=None) 
+0

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されたのか、なぜそれが解決するのかについての追加の文脈を提供することで、回答の長期的価値が向上します。 –

関連する問題