Pythonでファイル名を変更する方法:os.rename()の基本と実践例
Pythonのos.rename()メソッドは、ファイルの名前を変更するための機能です。このメソッドは「変更前のファイルパス」と「変更後のファイルパス」という2つの引数を受け取ります。新しいファイルパスには、元とは異なるファイル名を指定する必要があります。
Pythonでファイルを扱っていると、特定のファイルの名前を変更したくなることがあります。たとえば、raw_data.csvというファイルがあった場合、プログラムの実行時にこれをold_data.csvにリネームしたいケースなどが考えられます。
そんなときに役立つのが、os.rename()メソッドです。このメソッドを使えば、Pythonで既存のファイル名を簡単に変更できます。
本記事では、具体例を交えながらos.rename()メソッドの基本と、Pythonでファイル名を変更する方法について詳しく解説します。
Pythonでファイル名を変更する基本
Pythonのos.rename()メソッドは、既存のファイルの名前を変更します。対象となるファイルはあらかじめ存在している必要があります。また、変更したいファイルのパスと、変更後の新しいパスの両方を指定しなければなりません。新しいパスには、元のファイル名とは異なる名前を指定します。
os.rename()の構文は以下のとおりです。
os.rename(file, destination)
rename()メソッドは、以下の2つの引数を受け取ります。
- file:名前を変更したいファイルのパスとファイル名(例:「/home/career_karma/file.txt」)
- destination:ファイルのパスと新しいファイル名(例:「/home/career_karma/file_new.txt」)
os.rename()メソッドは、Pythonの標準ライブラリであるosモジュールに含まれています。osモジュールには、ファイルの作成や削除など、オペレーティングシステムに関連するさまざまな関数が用意されています。
os.rename()メソッドを使用するには、まずosモジュールをインポートします。
import os
それでは、実際のコード例を見ながら、os.rename()メソッドの使い方を確認していきましょう。
Pythonでファイル名を変更する実例
ここでは、raw_data.csvというファイルをold_data.csvにリネームするケースを想定します。このファイルは/home/career_karmaディレクトリに保存されているものとします。以下のコードでファイル名を変更できます。
import os
old_file_name = "/home/career_karma/raw_data.csv"
new_file_name = "/home/career_karma/old_data.csv"
os.rename(old_file_name, new_file_name)
print("File renamed!")
このコードを実行すると「File renamed!」と出力され、ファイル名が正しく変更されます。
まず、osモジュールをインポートして、os.rename()メソッドにアクセスできるようにしています。
次に、2つの変数を宣言します。1つ目の変数(old_file_name)には変更前のファイルパスを、2つ目の変数(new_file_name)には変更後の新しいパスを格納します。
ファイル名をold_data.csvに変更したいので、new_file_name変数の末尾はraw_data.csvではなくold_data.csvとなっています。
その後、os.rename()を使ってファイル名を変更し、最後にコンソールへ「File renamed!」と出力することで、プログラムが正常に実行されたことを確認しています。
Pythonで複数のファイル名を一括変更する方法
続いて、複数のファイル名をまとめて変更する方法を見ていきましょう。これもos.rename()メソッドで実現できます。
たとえば、/home/career_karmaディレクトリ内のすべてのファイル名の先頭にold_を付けたいとします。現在、このディレクトリには以下のファイルが保存されています。
- data.csv
- raw_data.csv
- program.py
各ファイル名の先頭にold_を追加するには、以下のようなプログラムを使用します。
import os
for file in os.listdir("/home/career_karma"):
os.rename(file, f"/home/career_karma/old_{file}")
このコードを実行すると、ディレクトリ内のファイルは以下のように変更されます。
- old_data.csv
- old_raw_data.csv
- old_program.py
コードの仕組みを順番に解説します。まず、os.rename()メソッドとos.listdir()メソッドを使用できるように、osモジュールをインポートします。次にforループを作成し、os.listdir()メソッドで生成した/home/career_karmaフォルダ内の全ファイルのリストを順番に処理していきます。
ループの中では、os.rename()を使って各ファイルの名前を変更しています。Pythonのf文字列(f-string)を活用し、各ファイル名を/home/career_karma/old_{FILE_NAME}という形式に置き換えています。ここでFILE_NAMEには元のファイル名が入ります。
この結果、/home/career_karmaフォルダ内のすべてのファイル名の先頭にold_が追加されました。
まとめ
os.rename()メソッドを使うことで、Pythonでファイル名を変更できます。さらに、os.listdir()メソッドと組み合わせれば、フォルダ内のすべてのファイルを一括でリネームすることも可能です。
本記事では、osモジュールの基本とos.rename()メソッドの使い方を、具体例とともに解説しました。これであなたも、プロのようにPythonでファイル名を変更できるようになったはずです。
Pythonのプログラミングについてさらに学びたい方は、ぜひ当サイトの「Python学習ガイド」もチェックしてみてください。Pythonの効果的な学習方法や、専門家が厳選した学習リソースの一覧を掲載しており、あなたの学習の旅をサポートします。
-
Pythonインタープリターとは?仕組みと初心者向けオンライン環境を徹底解説
Pythonは学びやすいプログラミング言語として知られています。その理由のひとつが、自分のマシンに正しいバージョンのPythonをインストールしなくても、オンラインで利用できるPythonインタープリターが数多く存在する点です。本記事では、Pythonインタープリターの仕組みについて解説し、初心者にも使いやすい人気のオンラインインタープリターをご紹介します。 Pythonプログラムはどのように実行されるのか? PythonはJavaと同様に、純粋なインタプリタ言語ともコンパイラ言語とも分類できず、両方の性質を併せ持っています。 ここでいう「コンパイル」とは、特定のプラットフォームに依存し
-
【完全ガイド】Pythonでファイルを移動する方法|shutil.move()の使い方を徹底解説
shutil.move()メソッドは、コンピュータ上の別の場所へファイルを移動するためのPythonの関数です。このメソッドはshutilモジュールに含まれているため、使用する前にモジュールをインポートしておく必要があります。 ファイルの移動は、Pythonプログラミングにおけるごく一般的な操作です。たとえば、ファイルを生成するプログラムを開発している場合、新しいファイルを作るためのスペースを確保する目的で、既存のファイルを別のフォルダへ移動させたい場面があるかもしれません。 そんなときに役立つのがshutil.move()関数です。この関数を使えば、システム上のあるフォルダから別のフォル