【Python入門】ファイル名の一括変更プログラム

ファイル名を1つ1つ変更する作業ってだるいですよね。

ダウンロードした画像の名前って、よくわかんないアルファベットの羅列とか多いですし、、

 

今回は、そんな方のために『ファイル名一括変更プログラム』を組んでみたので、実装コードとその解説をしていきます。

 

解説とは言っても、めちゃくちゃ簡単なので、サクッと終わります。

 

 

プログラムの実行例はこちらです。

 

 

 

さっそく本編へ移りましょう!

 

 

 

ファイル名一括変更プログラムの概要

まずは、今回作成するプログラムの概要を説明します。

 

今回のプログラムでは、3つ値を指定することで、ファイル名を連番で統一します。

 

 指定する項目

  • 変更したいファイルがあるディレクトリ
  • 変更したいファイルの拡張子(複数可)
  • 変更後にベースとなる名前

 

 

以下のように、ベースとなる名前の後ろに番号が追加されます。

この場合、ベースとなる名前は img ですね。

 

 

 

さらに、念のためファイル名変更ログも残すことにします。

これによって、何が何に変更されたのかが後から確認できますね

 

 

 

ということで、こんな感じのプログラムを組んでいきます。

 

スポンサーリンク

 

補足

上の画像は、アルファベットの語順等の関係で、ファイル名の対応が異なって表示されているように見えます。

実際は問題ないので、お気になさらずに。

 

 

実装コード

実装コード全体はこちらになります。

 

 

次の章では、部分的にコードの解説をします。

 

 

コード解説

非常にシンプルなプログラムなので、簡単に解説していきます。

 

 

1~5行目

必要なライブラリをインポートします。

glob は、ファイルパスを取得する際に使用するモジュールです。

 

 

 

8~17行目

ディレクトリのパスと、変更するファイルの拡張子、新しいファイル名の3つを指定します。

こちらのコードでは、 input を使って、実行するたびにユーザーからの入力を促していますが、直接記述してしまっても構いません。

 

 

 

19~22行目

glob を使って、上で指定したディレクトリ内にあり、指定した拡張子のファイルのパスをすべて取得します。

 

 

 

25~35行目

for文の中で、さきほど glob で取得したファイルのファイル名を変更します。

ログを残すために、変更前のファイル名と変更後のファイル名をリストに格納しておきます。

31行目で、 {i+1:02d} とすることで、連番が1桁のところでも、 010203 のように2桁で統一できます。

 

 

 

37~39行目

リストに格納しておいたファイル名を、データフレームに変換後、CSVファイルとして保存します。

 

 

 

これでコードの解説はおしまいです!

 

 

おわりに

標準ライブラリのみを使用しているので、そこまで難しくはなかったと思います。

 

使い道はそう多くないかもしれませんが、『1つの作業を自動化することができた』と言えるので、まあまあ良いことでしょう。

 

では、今回はここまでとします。

お疲れさまでした。

 

>>【コピペOK】Pythonによる画像スクレイピング【サンプルコード付き】