はじめに
- ディレクトリ直下のディレクトリからファイルを再帰的に処理する際に、基本的にはLinux環境を使用しているためシェルコマンドを利用します
- しかし、Windows環境のみしか利用できない環境でファイルの再帰的なコピーを行う場合、コマンドプロンプトを用いることが非常に面倒だったので、Pythonを利用してコピーする例を紹介します
実装
- 関数の引数でコピー元のパスとコピー先のパスを与えます
- inputとoutputのパスをファイル実行時の引数として与えてもいいと思います
ファイル構成としては、以下のような例を考えます
C:/Users/input/
├ 01
├ 01_01.jpg
├ 01_02.jpg
├ 02
├ 02_01.jpg
├ 02_02.jpg上記のJPGをコピーします
関数
importosimportglobimportshutildefcopyfiles(input,output):ifiles=os.listdir(input)forsinifiles:ifiles_all=input+"/"+sfs=glob.glob(ifiles_all+"/*")forfinfs:fname=f.split("\\")[-1]# fileの名前
ofullname=output+"/"+fnameshutil.copyfile(f,ofullname)input="C:/Users/input"output="C:/Users/output"copyfiles(input,output)