shutil.moveでファイルを移動させてみた

はじめに

以下のようなフォルダ構成。

202407で始まるファイルを202407フォルダに移動させる。

まずは一つのファイルを動かしてみる

自分の目で確かめながら、一歩一歩進んでいきたい。

1行目で、shutilをインポートした。3行目で、moveを使用して、20240701.txtを202407に移動させた。

ターミナルで、file_move.pyを実行。

20240701.txtが、202407に移動されたことが確認できた。

before
after

次は条件に当てはまる複数のファイルを移動してみる

先ほど移動したファイルは、手動で元の位置に戻しておいた。

202407で始まる以下の3つのファイルをまとめて202407に移動させる処理を書いていこう。

先ほどのコードを以下のように変更した。

先程のコードはこちら。

ここで重要な2つの登場人物を紹介する。

glob、そして、ワイルドカードだ。

glob.glob()で、引数の条件に当てはまるファイルが取得される。

ワイルドカードの「*」を使うと、前後の文字の組み合わせで条件を指定できる。

202407*とすれば、202407で始まるファイル名を指定できる。

2行目で、globをインポートしている。これは、globを使用するために必要な記述。

4行目のfor文では、202407で始まるファイルをfileとして一つ一つ取り出している。

for文の中身の5行目では、取り出された一つ一つのfileを202407に移動している。

6行目に、print(file)を追記して、file_move.pyを実行して、fileの中身を確かめてみると、以下のようになっていた。

202407も含まれてしまっているが、ひとまず気にしないでおこう。

無事、202407で始まるファイルを202407に移動させることができた。

参考サイト

Pythonでファイル・ディレクトリを移動するshutil.move | note.nkmk.me

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

投稿ID : 23047