【Python】ファイル・ディレクトリの名前を変更する方法を紹介!「os.rename」「os.renames」

こんにちは!

皆さんは、Pythonでファイル・ディレクトリの名前を変更したいと思ったことはありませんか?

Python初心者
ファイルを整理したいときに使えるね!

ファイル・ディレクトリの名前を変更するには、「os.rename()」「os.renames」を使うと簡単に行うことができますよ。

今回の記事では、以下の内容について紹介します。

  • ファイル・ディレクトリの名称変更方法
  • ファイル・ディレクトリの名称変更を再帰的に行う方法

ファイル・ディレクトリの名称変更方法

ファイル・ディレクトリの名称変更を行うには、osモジュールの「rename()」「renames()」を使用します。

osモジュールはPythonの標準ライブラリ内にあるため、インストールは必要ありません。

今回は以下のコードで作成したディレクトリ・ファイルの名称変更を行います。

ファイル・ディレクトリの作成方法ファイル・ディレクトリの一覧取得方法も一緒に確認しましょう。

ソースコード

import os

os.makedirs('testdir/test', exist_ok=True)

with open('testdir/test.txt', 'w') as f:
    f.write('')

print(os.listdir('testdir'))

実行結果

['test', 'test.txt']

「test」「test.txt」の名称を変更します。

1つのファイル・ディレクトリの名称変更

「rename()」を使って名称変更を行います。

ソースコード

import os

os.rename("testdir/test", "testdir/test_rename")
os.rename("testdir/test.txt", "testdir/test_rename.txt")

print(os.listdir('testdir'))

実行結果

['test_rename.txt', 'test_rename']

testとtest.txtの名称が変更されていることがわかりますね!

再帰的にファイル・ディレクトリの名称変更

今回は以下のコードで作成したディレクトリの名称変更を再帰的に行います。

ソースコード

os.makedirs('testdir/test1/test2/test3', exist_ok=True)

再帰的にというのは、中間のディレクトリも同時に名称変更が可能ということです。

では、「renames()」を使って再帰的に名称変更を行います。

ソースコード

import os

os.renames("testdir/test1/test2/test3", "testdir/test1_rename/test2_rename/test3_rename")

print(os.path.exists('testdir/test1_rename/test2_rename/test3_rename'))

実行結果

True

「os.path.exists」名称変更後のpathのディレクトリが存在するかどうかを調べ、返り値がTrueであるため、存在することがわかります。

つまり、中間のディレクトリであるtest1, test2とtest3の名称変更ができているということになります。

まとめ

今回の記事では、以下の内容について紹介しました。

  • ファイル・ディレクトリの名称変更方法
    「os.rename()」を使用
  • ファイル・ディレクトリの名称変更を再帰的に行う方法
    「os.renames()」を使用
Python初心者
名称変更は簡単にできるんだね!

皆さんもファイル・ディレクトリの名称変更する際にはPythonを使ってみたらどうでしょうか。