【毎日Python】Pythonでディレクトリをコピーする方法|shutil.copytree

copytree
こつこつPython
import shutil

Pythonでディレクトリをコピーする方法です。
使用するのは、Pythonのshutilモジュールのcopytreeメソッドです。
shutilは高水準のファイル操作を行うためのモジュールです。
高水準とは、たくさんのことをできる、というくらいの認識でよいです。

shutil.copytree('./copy_from','./copy_to')

テキストファイルが入ったcopy_fromディレクトリを、copy_toディレクトリとしてコピーしてみましょう。
shutil.copytreeの第一引数にコピー元のディレクトリパス、第二引数にコピー先のディレクトリパスを指定します。
実行します。
ディレクトリをコピーできました。
中に入っていたテキストファイルもコピーされています。
ちなみにshutilモジュールのcopytreeメソッドを実行すると、コピー先のディレクトリパスが表示されます。

shutil.copytree('./copy_from','./copy_to')

なお、コピー先のディレクトリが既に存在する場合にはエラーが出ます。
試しに先程と同じ操作を実行してみましょう 。
ファイルが既に存在しています、という内容のエラーが出ました。

shutil.copyfile('./copy_from/001.txt','./copy_to/002.txt')

copytreeメソッドに似たメソッドとして、同じくshutilモジュールのcopyfileメソッドがあります。
copyfileメソッドはその名の通りファイルをコピーするメソッドです。
試しにcopyfileメソッドを使って先程のファイルをコピーしてみましょう。
shutil.copyfileの第一引数に元のファイルパス、第二引数にコピー先のファイルパスを指定します。
実行します。
ファイルのコピーができました。
ちなみに、copyfileメソッドもcopytreeメソッドと同じように、コピー先のファイルパスが表示されます。

関連メソッド

【毎日Python】Pythonでファイルをコピーする方法|shutil.copy/copy2

毎日Python】Pythonでファイルやディレクトリを移動する方法|shutil.move

【毎日Python】Pythonで新しいディレクトリを作成する方法|mkdir

【毎日Python】Pythonで新しいディレクトリを作成や上書きする方法|makedirs

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト