Python でフォルダ内のファイルを一括でリネームする方法

 

 Python を使って、選択したフォルダ内の全てのファイルを一括でリネームする方法です。このスクリプトは、大量のファイルを一度にリネームする必要がある場合に便利です。

 

 集めまくっておいた画像データを通し番号にしたい場合、頭に特定の語(日付やプロジェクト名など)をつけて元のファイル名を残しつつリネームしたいなどで使えるようにしています。

 

リネームするためのスクリプト

Python スクリプト(新しいファイル名として番号だけをつけるバージョン)

  
import os

def rename_files_with_numbers(directory):
    for i, filename in enumerate(os.listdir(directory)):
        extension = os.path.splitext(filename)[1]
        new_filename = str(i+1) + extension
        source = os.path.join(directory, filename)
        destination = os.path.join(directory, new_filename)
        os.rename(source, destination)

# 使用例
rename_files_with_numbers('/path/to/your/directory')
  

 指定したディレクトリ内の全てのファイルをリネームし、新しいファイル名は番号だけになります。

 

スクリプトの説明

 スクリプトがどのように動作するのか詳しく見ていきましょう。

・os.listdir(directory)を使って、指定したディレクトリ内の全てのファイル名を取得します。このとき、enumerate関数を使って、各ファイルに対応する番号も取得します。

・os.path.splitext(filename)[1]を使って、元のファイル名から拡張子を取得します。

・番号と拡張子を組み合わせて新しいファイル名を作成します。ここでは、str(i+1) + extensionを使っています。

・os.path.join(directory, filename)を使って、元のファイルのフルパスを作成します。

・os.path.join(directory, new_filename)を使って、新しいファイル名のフルパスを作成します。

・最後に、os.rename(source, destination)を使って、ファイルをリネームします。

 

 

Python スクリプト(接頭語(プレフィックス)+旧ファイル名とするバージョン)

  
import os

def rename_files(directory, prefix):
    for filename in os.listdir(directory):
        new_filename = prefix + filename
        source = os.path.join(directory, filename)
        destination = os.path.join(directory, new_filename)
        os.rename(source, destination)

# 使用例
rename_files('/path/to/your/directory', 'new_prefix_')
  

 指定したディレクトリ内の全てのファイルをリネームします。新しいファイル名は、指定したプレフィックスに元のファイル名が追加された形になります。

 

スクリプトの説明

・osモジュールをインポートします。このモジュールには、ファイルやディレクトリを操作するための関数が含まれています。

・rename_filesという関数を定義します。この関数は2つの引数を取ります。一つ目のdirectoryは、ファイルが格納されているディレクトリのパスです。二つ目のprefixは、新しいファイル名のプレフィックスです。

・os.listdir(directory)を使って、指定したディレクトリ内の全てのファイル名を取得します。

・ファイル名のリストをループし、各ファイル名にプレフィックスを追加して新しいファイル名を作成します。

・os.path.join(directory, filename)を使って、元のファイルのフルパスを作成します。

・os.path.join(directory, new_filename)を使って、新しいファイル名のフルパスを作成します。

・os.rename(source, destination)を使って、ファイルをリネームします。

 

使用例
このスクリプトを使うには、以下のようにrename_files関数を呼び出します。

  
rename_files('/path/to/your/directory', 'new_prefix_')
  

 /path/to/your/directory という名前のディレクトリ内の全てのファイルが、new_prefix_というプレフィックスを追加した新しい名前にリネームされます。