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


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

まとめ

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

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

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

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

SAMURAI TERAKOYA

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

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

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

→侍テラコヤの詳細をみる

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close