Pythonでディレクトリの名前を変更する方法をわかりやすく解説
Pythonでディレクトリ(フォルダ)の名前を変更するには、主に shutil モジュールと os モジュールの2つの方法があります。どちらも簡単なコードで実現できるため、用途に応じて使い分けるとよいでしょう。
shutil.move() を使う方法
shutil モジュールの move(src, dst) 関数は、指定したパスから別のパスへディレクトリを移動する関数です。移動先(dst)にパスを含めず新しい名前だけを指定すると、実質的に「リネーム」として機能します。
使用例
>>> import shutil
>>> shutil.move('my_folder', 'new_name')
上記のコードでは、my_folder というディレクトリが new_name に変更されます。
また、shutil.move() は異なるドライブやファイルシステム間での移動にも対応しているため、単なるリネームだけでなく、ディレクトリの移動も同時に行いたい場合に便利です。
os.rename() を使う方法
よりシンプルにリネームだけを行いたい場合は、os モジュールの rename(src, dst) 関数を使用します。
使用例
>>> import os
>>> os.rename('my_folder', 'new_name')
このコードでも my_folder の名前が new_name に変更されます。同じファイルシステム内でのリネームであれば、こちらの方が軽量で高速です。
注意点:エラーハンドリング
リネーム対象のディレクトリが存在しない場合や、移動先に同名のディレクトリがすでに存在する場合は、FileNotFoundError や FileExistsError などの例外が発生します。実際のプログラムでは、例外処理を組み合わせておくと安全です。
エラー処理の例
>>> import os
>>>
>>> try:
... os.rename('my_folder', 'new_name')
... except FileNotFoundError:
... print('指定されたディレクトリが見つかりません')
... except FileExistsError:
... print('同じ名前のディレクトリがすでに存在します')
まとめ
- 単純なリネームなら
os.rename()が最適 - 移動を伴う場合やファイルシステムをまたぐ場合は
shutil.move()が便利 - 実運用では例外処理を加えて堅牢性を高めよう
目的に合わせてこれらの関数を使い分けることで、Pythonでのディレクトリ操作を効率的に行えます。
-
Pythonでファイルを比較する方法|filecmpモジュールの使い方を徹底解説
はじめにPythonでファイル同士を比較したい場面は多くあります。たとえば、バックアップの整合性チェック、同期処理の検証、テストデータの確認などです。Pythonには標準ライブラリとしてfilecmpモジュールが用意されており、これを使うことでファイルやディレクトリを簡単かつ効率的に比較できます。本記事では、filecmpモジュールの主要な関数・クラスであるcmp()、cmpfiles()、dircmpの使い方を、実際のコード例と実行結果とともにわかりやすく解説します。filecmpモジュールとはfilecmpモジュールは、ファイルおよびディレクトリの比較を行うための標準ライブラリです。追加イ
-
Pythonで複数のファイル名を一括変更する方法【os.rename()活用】
Python3では、rename()メソッドを使うことで、ファイルやディレクトリの名前を簡単に変更できます。このメソッドは標準ライブラリのosモジュールに含まれており、追加のインストールなしですぐに利用可能です。 os.rename() の基本構文 os.rename(src, dst) 各引数の意味は以下のとおりです。 src: 名前を変更したい元のファイル(またはディレクトリ)のパス dst: 変更後の新しい名前を含むパス それでは、複数の画像ファイルが入ったフォルダを例に、一括でファイル名を変更する方法を見ていきましょう。ここでは、次のような画像フォルダを使用します。 入力(変更前の