Python

【Pythonで業務改善】ファイルのコピーや移動を自動化

決められたディレクトリにファイルが次々と作られるようなシチュエーション、たくさんあるとは思いますが、そんな時にファイルの操作では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')

以上で解説は終わりです。

Mickey@コーヒー好きエンジニア

【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|ココナラではプログラミングに関する相談,就職/転職やコーヒーに関する相談などのサービスをやっています