ディレクトリの中身を別なディレクトリにコピー Python

Python

はじめに

ディレクトリはshutil.copytreeでコピーできますが、コピー先のディレクトリがすでに存在する場合は使えません。

やりたいこと

work1/の下にディレクトリやファイルが格納されています。

それらをwork2/にすべてコピーします。

解決方法

下記のコマンドでディレクトリの中身を別なディレクトリにコピーできます。

import os
import re
import shutil

def all_copy(src, dst):
    for dirpath, _, filenames in os.walk(src, topdown=False):
        for i in filenames:
            to = re.sub(r"^{}".format(src), dst, dirpath)
            os.makedirs(to, exist_ok=True)
            shutil.copy(os.path.join(dirpath, i), os.path.join(to, i))

src = "work1"
dst = "work2"
all_copy(src, dst)
Before
After

まとめ

ディレクトリの中身を別なディレクトリにコピーしました。

コメント

タイトルとURLをコピーしました