2024.07.24(更新日: 2024.07.24)
shutil.moveでファイルを移動させてみた

はじめに
以下のようなフォルダ構成。

202407で始まるファイルを202407フォルダに移動させる。
まずは一つのファイルを動かしてみる
自分の目で確かめながら、一歩一歩進んでいきたい。
1行目で、shutilをインポートした。3行目で、moveを使用して、20240701.txtを202407に移動させた。

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

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


次は条件に当てはまる複数のファイルを移動してみる
先ほど移動したファイルは、手動で元の位置に戻しておいた。

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に移動させることができた。

参考サイト

コメントを残す