【Python入門】os.renameでファイル名を変更する方法を解説!

ファイルやディレクトリを操作すると、以下のようなケースが発生することがあります。

ファイル名を変更するにはどうすればいいの?
ディレクトリにあるファイルを一括で変更するにはどうすればいいの?

そこで今回はファイル名を変更するための関数os.renameについて紹介いたします。

  • 【基礎】os.renameとは
  • 【基礎】os.renameの使い方
  • 【発展】os.renameでファイルを一括変更する方法

ファイル名を変更する方法について、初心者でも理解できるように解説していますので、ぜひ参考にしてみてください。

なお、Pythonの記事については、こちらにまとめています。

目次

ファイル名を変更する方法

os.renameとは

os.renameを使用すると既存のファイル名を引数で指定した名称に変更することができます。os.renameは第一引数に変更前のファイル名を、第二引数には変更後のファイル名を指定します。

import os
os.rename(変更前ファイル、変更後ファイル)

使用するためにはosモジュールをインポートしておく必要があります。
引数には絶対パスまたは相対パスで削除するファイルを指定します。

os.renameの使い方

ここでは、実際にos.renameを使用してファイル名を変更してみましょう。以下のサンプルでは、os.renameで「sample_00.txt」を「sample_01.txt」に変更しています。

サンプルプログラム:

import os

# 変更前ファイル
path1 = './dir/sample_00.txt'

# 変更後ファイル
path2= './dir/sample_01.txt'

# ファイル名の変更 
os.rename(path1, path2) 

# ファイルの存在確認 
print(os.path.exists(path2))

実行結果:

True

ここでは、最後にos.path.exists関数でファイルの存在有無を確認しています。os.path.existsはファイルが存在するとTrue、存在しないとFalseを返すので、変更したファイル名が存在することがわかります。

なお、対象のファイルが存在しない場合はエラー「FileNotFoundError」が発生しますので、指定したディレクトリにファイルが必ず存在するかわからない場合は、事前に紹介したos.path.exists関数でファイルチェックを行うとよいでしょう。

また、変更後のファイルが既に存在した場合、ファイルが上書きされてしまうので注意しましょう。

ファイル名を一括で変更する方法

rename関数で「一括でファイル名を変更したい」場合は変更対象のファイルを一括で取得してfor文のループで1つずつファイルを変更する方法があります。

サンプルプログラム:

import glob
import os

# 拡張子.txtのファイルを取得する
path = './dir/*.txt'
i = 1

# txtファイルを取得する
flist = glob.glob(path)
print('変更前')
print(flist)

# ファイル名を一括で変更する
for file in flist:
  os.rename(file, './dir/test' + str(i) + '.txt')
  i+=1

list = glob.glob(path)
print('変更後')
print(list)

実行結果:

変更前
['./dir/sample1.txt', './dir/sample2.txt', './dir/sample3.txt']
変更後
['./dir/test1.txt', './dir/test2.txt', './dir/test3.txt']

このサンプルではglob関数を使用してアスタリスクによるパターンマッチング(*.txt)により、拡張子が.txtのファイルを全て取得しています。

取得したファイルリストをfor文のループの中で1つずつos.rename関数でtest_x.txtに変更しています。

ファイル操作についてもっと知りたい方へ

Pythonにはファイル・ディレクトリを操作するためのさまざまな関数が用意されています。ファイル・ディレクトリ操作全般について知りたい方は以下の記事も合わせて参考にしてみてください。

まとめ

ここでは、ファイル名を変更するos.renameについて解説しました。

  • os.renameとは
  • os.renameの使い方
  • os.renameでファイルを一括変更する方法


os.renameを使用すれば、簡単にファイル名の変更が可能ですので使い方は理解しておきましょう。

もし、ファイル名を変更する方法を忘れてしまったら、この記事を思い出してくださいね!

プログラミング学習中、
誰かへ相談したいことはありませんか?

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、40種類以上のWEBスキルが身につくオリジナル教材があり、回答率100%のQA掲示版で学習に関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

目次