決められたディレクトリにファイルが次々と作られるようなシチュエーション、たくさんあるとは思いますが、そんな時にファイルの操作ではshutil.move()やshutil.copy()、shutil.copytree()、shutil.rmtree()、os.remove()が便利です。
操作と対応する関数をまとめると以下となります。
ファイル・フォルダの移動・・・shutil.move()
ファイル・フォルダのコピー・・・shutil.copy()
フォルダの中身ごとコピー・・・shutil.copytree()
ファイルの削除・・・os.remove()
フォルダの削除・・・shutil.rmtree()
今回作成するようなpythonコードをバッチファイル化・タスクスケジューラで自動起動を設定しておくと、手作業を行うことなく完全自動化も可能となります。
それでは早速解説しています。
目次
shutilのインポート
今回必要となるライブラリをインポートしておきます。
shutil、osは標準ライブラリなので、インストールの作業は不要です。
import shutil
import os
以上で準備は終了です。
ファイル・フォルダの移動 【shutil.move()】
同じ階層にあるファイルを名前を変更して移動する際に以下のコードが使えます。
shutil.move('test.csv', 'test_new.csv')
ディレクトリの移動も可能です。
shutil.move('dir/', 'dir_new/')
ディレクトリ・ファイル名を組み合わせれば、どのような状況でも好きな場所にファイルを移動することができます。
ファイル・フォルダのコピー 【shutil.copy()】
移動と同様にファイルのコピーもできます。
shutil.copy('test.csv', 'test_new.csv')
フォルダの中身ごとコピー【shutil.copytree()】
中身にさらにフォルダやファイルが存在するときに使えます。
shutil.copytree('dir/', 'dir_new/')
ファイル・フォルダの削除 【shutil.rmtree()】
ファイルの削除
os.remove('test_new.csv')
フォルダの削除
フォルダの中身ごと削除されます。
shutil.rmtree('dir')
以上で解説は終わりです。