Pythonでディレクトリ内のファイル名を一括変更する方法
Pythonは、ファイル操作を簡単に行うための強力なツールを提供しています。特に、ディレクトリ内の複数のファイルの名前を変更する作業は、Pythonを使うことで効率的に行うことができます。この記事では、Python 3を用いてディレクトリ内のファイル名を一括変更する方法を、具体的なサンプルコードとその結果を交えて解説します。
必要なモジュールのインポート
ファイル名を変更するためには、Pythonの標準ライブラリであるosモジュールを使用します。このモジュールは、オペレーティングシステムとの対話を可能にし、ファイルやディレクトリの操作に役立ちます。
import os
サンプルコード1: プレフィックスを追加
最初のサンプルコードでは、ディレクトリ内のすべてのファイル名に指定したプレフィックスを追加する方法を紹介します。
import os
def add_prefix_to_filenames(directory, prefix):
for filename in os.listdir(directory):
if os.path.isfile(os.path.join(directory, filename)):
new_name = prefix + filename
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
# 使用例
add_prefix_to_filenames('/path/to/directory', 'new_')
結果: このコードを実行すると、指定したディレクトリ内のすべてのファイル名の先頭に”new_”が追加されます。例えば、”example.txt”は”new_example.txt”になります。
サンプルコード2: 拡張子を変更
次に、ファイルの拡張子を一括で変更する方法を示します。例えば、すべての”.txt”ファイルを”.md”ファイルに変更する場合です。
import os
def change_file_extension(directory, old_extension, new_extension):
for filename in os.listdir(directory):
if filename.endswith(old_extension):
base = os.path.splitext(filename)[0]
new_name = base + new_extension
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
# 使用例
change_file_extension('/path/to/directory', '.txt', '.md')
結果: このコードを実行すると、指定したディレクトリ内のすべての”.txt”ファイルが”.md”ファイルに変更されます。例えば、”document.txt”は”document.md”になります。
サンプルコード3: 連番を付ける
最後に、ファイル名に連番を付ける方法を紹介します。これは、ファイルを整理する際に便利です。
import os
def add_sequential_numbers(directory):
count = 1
for filename in os.listdir(directory):
if os.path.isfile(os.path.join(directory, filename)):
base, ext = os.path.splitext(filename)
new_name = f"{base}_{count}{ext}"
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
count += 1
# 使用例
add_sequential_numbers('/path/to/directory')
結果: このコードを実行すると、指定したディレクトリ内のファイル名に連番が付加されます。例えば、”image.png”は”image_1.png”、”photo.jpg”は”photo_2.jpg”になります。
まとめ
Pythonを使用することで、ディレクトリ内の複数のファイル名を簡単に変更することができます。この記事で紹介した方法を応用することで、さまざまなファイル操作を自動化し、作業効率を大幅に向上させることができます。ファイル名の変更は注意が必要な操作ですが、Pythonのosモジュールを使えば、安全かつ効率的に行うことができます。
Python 3を使用してディレクトリ内の複数のファイルの名前を変更するには、osモジュールを使用します。まず、osモジュールをインポートします。
次に、osモジュールのos.listdir()関数を使用して、ディレクトリ内のファイルのリストを取得します。これにより、ディレクトリ内のすべてのファイルの名前を取得できます。
その後、osモジュールのos.rename()関数を使用して、各ファイルの名前を変更します。この関数には、変更前のファイル名と変更後のファイル名を指定する必要があります。
以下は、ディレクトリ内のすべてのファイルの名前を変更するPythonスクリプトの例です。
“`python
import osdirectory = ‘/path/to/directory’
for filename in os.listdir(directory):
if filename.endswith(‘.txt’): # 例えば、.txtファイルのみを対象にする場合
new_filename = filename.replace(‘old_text’, ‘new_text’) # ファイル名の変更ロジックを記述
os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
“`このスクリプトを実行すると、指定したディレクトリ内のすべての.txtファイルの名前が変更されます。必要に応じて、ファイル名の変更ロジックをカスタマイズしてください。
