Python copytree フォルダーをコピーする方法

Pythonの「copytree」でフォルダを中身も含めてコピーすることができます。

あるフォルダを任意の場所にコピーしたり、リネームしてコピーすることができます。

今回は、Pythonでフォルダをコピーする「copytree」の使い方を解説します。

フォルダをコピーする copytree

copytree構文

import shutil
shutil.copytree(コピー元フォルダのパス,コピー先フォルダのパス)
#戻り値:コピーしたフォルダのパス

まず最初にpython標準のshutil(shell utility)モジュールを使用するため「import shutil」を事前に記述します。

「shutil.copytree」で任意のフォルダをコピーします。

「戻り値」はコピーしたフォルダパスです。

例1. フォルダをコピーする(フルパス指定)

import shutil
shutil.copytree('c:\\pg','d:\\pg')
#[結果] 'd:\\pg'

Pythonの「copytree」で「c:\pg」を「d:\pg」にコピーしました。

パスの記述ですが、「\」をエスケープする必要があるため、「\」であれば「\\」と書きます。よって「c:\pg\file1.txt」の場合は「c:\\pg\\file1.txt」と書きます。

例2. フォルダをコピーする(ファイル名変更)

import shutil
shutil.copytree('c:\\pg','d:\\pg_test')
#[結果] 'd:\\pg_test'

ここではフォルダをコピーし、なおかつフォルダ名も変更しました。

例3. フォルダをコピーする(コピー先が存在する)

shutil.copytree('c:\\pg','d:\\pg_test')
#[結果] FileExistsError: [WinError 183] 
#[結果] 既に存在するファイルを作成することはできません。

ここでは例2で作成したフォルダを再度作成しました。コピー先に同じフォルダ名が存在する場合はエラーになります。

これで「shutil.copytree」でフォルダをコピーすることができました。

以上、Pythonの「copytree」でフォルダをコピーする方法でした。

コメント