別々のフォルダに散らばって保存されたファイルを1つにまとめる[Python]

7月 27, 2020

└─data
├─test
│  ├─0
│  │      train_0000010.tif
│  │      train_0000011.tif
│  │      train_0000012.tif
│  │      train_0000013.tif
│  │      train_0000014.tif
│  │
│  └─1
│          train_0000015.tif
│          train_0000016.tif
│          train_0000017.tif
│          train_0000018.tif
│          train_0000019.tif
│
└─train
├─0
│      train_0000005.tif
│      train_0000006.tif
│      train_0000007.tif
│      train_0000008.tif
│      train_0000009.tif
│
└─1
train_0000000.tif
train_0000001.tif
train_0000002.tif
train_0000003.tif
train_0000004.tif

こういった様々なフォルダに散らばって保管されたファイルたちを一つのフォルダにまとめるスクリプトを紹介.

import os
import shutil
from glob import glob
files = "data/*/*/*.tif"
dst = "path/to/dst"
for
file
in glob(files):
dst_file_path = os.path.join(dst, os.path.basename(file))
shutil.copy(file, dst)

globを使って2階層以上のファイルをリスト化したことが工夫点

もし良かったら使ってください.

Python

Posted by vastee