Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで複数のファイル名を一括変更する方法【os.rename()活用】

Python3では、rename()メソッドを使うことで、ファイルやディレクトリの名前を簡単に変更できます。このメソッドは標準ライブラリのosモジュールに含まれており、追加のインストールなしですぐに利用可能です。

os.rename() の基本構文

os.rename(src, dst)

各引数の意味は以下のとおりです。

  • src: 名前を変更したい元のファイル(またはディレクトリ)のパス
  • dst: 変更後の新しい名前を含むパス

それでは、複数の画像ファイルが入ったフォルダを例に、一括でファイル名を変更する方法を見ていきましょう。ここでは、次のような画像フォルダを使用します。

入力(変更前のフォルダ)

Pythonで複数のファイル名を一括変更する方法【os.rename()活用】

サンプルコード

以下のコードでは、指定したフォルダ内のすべてのJPEGファイルを「soul0.jpg」「soul1.jpg」のように連番でリネームしています。

import os

# 複数のファイル名を変更する関数
def main():
   i = 0
   path = "C:/Users/TP/Desktop/sample/Travel/west bengal/bishnupur/"
   for filename in os.listdir(path):
      my_dest = "soul" + str(i) + ".jpg"
      my_source = path + filename
      my_dest = path + my_dest
      # rename() 関数ですべてのファイルの名前を変更
      os.rename(my_source, my_dest)
      i += 1

# ドライバーコード
if __name__ == '__main__':
   # main() 関数を呼び出し
   main()

コードの解説

  • os.listdir(path):指定したディレクトリ内のファイル・フォルダ名を一覧として取得します。
  • my_dest:カウンター変数 i を使って、「soul + 連番 + .jpg」という新しいファイル名を生成します。
  • os.rename(my_source, my_dest):元のファイル名から新しいファイル名へ実際に変更を行います。
  • i += 1:1件処理するごとにカウンターを増やし、連番を作成します。

実行結果

スクリプトを実行すると、フォルダ内のすべての画像ファイルが連番付きの新しい名前に一括変更されます。

Pythonで複数のファイル名を一括変更する方法【os.rename()活用】

注意点

  • 同名のファイルがすでに存在する場合、OSによっては上書きされたりエラーが発生したりすることがあります。
  • パスの結合には os.path.join() を使うと、OS間の互換性が高まりより安全です。
  • 重要なファイルを扱う場合は、事前にバックアップを取っておくことをおすすめします。

  1. Windowsで複数のファイルを一括リネームする4つの方法【初心者向け完全ガイド】

    旅行中に撮った写真がたくさんあって、フォルダの中にバラバラの名前で保存されている…そんな経験はありませんか?また、脚本や原稿を何度も下書きしている場合、名前を整理しておかないと目的のファイルを探すのに苦労します。複数のファイルを1つずつ手作業でリネームするのは時間がかかり、かなりの負担です。幸い、Windowsには数クリックでファイルをまとめて一括リネームできる便利な機能が備わっています。この記事では、複数のファイルの名前を一度に変更する方法を詳しく解説します。 .pngファイルや.docファイルなど、同じ種類のファイルには共通の名前を付けておくと、フォルダ内での管理や検索が格段に楽になります

  2. Macで複数のファイル名を一括変更する方法|Finderの標準機能で簡単リネーム

    Macは高い信頼性と先進的な技術で知られていますが、それだけではありません。複数のファイルに対する操作をまとめて処理できる「一括タスク」機能により、1つずつ手作業で変更する面倒な労力から解放してくれる点でも人気を集めています。大量のファイル名をまとめて変更したり、一括で編集を加えようとした経験のある方なら、その手間とストレスは痛いほど分かるでしょう。 実は、macOS Yosemite以前のMacには、ファイルを一括で名称変更する標準機能が搭載されていませんでした。そのため、この作業を実現するにはサードパーティ製のアプリをインストールするしかありませんでした。しかし、最新バージョンのmacOS