Python os.rename() を使用してファイルとディレクトリの名前を変更する

⚡ スマートサマリー

Python os.rename() を使用してファイルとディレクトリの名前を変更します。ここでは、os.rename()、os.renames()、shutil.move()、および pathlib Path.rename() について学び、ディレクトリの名前変更方法と複数のファイルの一括名前変更方法を明確な例とともに解説します。

  • 会<XNUMXxEXNUMX><XNUMXxXNUMXF>️️<XNUMXxXNUMXF>️️ os.rename(): os.rename(src, dst) はファイルまたはディレクトリの名前を変更します。ソースは存在している必要があります。
  • 🗂️ os.renames(): os.renames() は、不足している宛先フォルダを自動的に作成します。
  • 🚚 shutil.move(): shutil.move() は、ファイルシステム間でファイルの名前を変更したり、ファイルを移動したりできます。
  • 🐍 pathlib: Path.rename() はオブジェクト指向の方法でファイルの名前を変更します (Python 3.4+)。
  • 🤖 AIによる支援: CopilotのようなAIツールは、名前変更コードや一括名前変更コードを瞬時に生成します。

Python ファイルの名前を変更する os.rename()

Python ファイルの名前を変更

Python ファイルの名前を変更する ファイルまたはディレクトリの名前を変更するために使用される方法です。 Python プログラミング。 Python rename() ファイル メソッドは、src (ソース) と dst (宛先) という 2 つの引数を渡すことによって宣言できます。

構文

これは os.rename() メソッドの構文です

os.rename(src, dst)

技術パラメータ

src: ソースはファイルまたはディレクトリの名前です。 すでに存在しているはずです。

夏時間: 「宛先」は、変更するファイルまたはディレクトリの新しい名前です。

例:

import os  
os.rename('guru99.txt','career.guru99.txt')

例を詳しく見てみましょう

元のファイル名を変更できます。ファイル名を「Guru「99.txt」を「Career.guru99.txt」に変更します。

Python ファイルの名前を変更

  • 「guru99.txt」ファイルの名前を変更するには、OSモジュールの「名前変更機能」を使用します。
  • したがって、コードが実行されると、パネルの右側に新しいファイル「career.guru99.txt」が作成されることがわかります。これは、元のファイルの名前を変更したものです。

これが完全なコードです

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

ディレクトリの名前を変更する方法 Python

os.rename() メソッドは、ファイルだけでなくディレクトリの名前も変更できます。ソースとして現在のフォルダ名を、宛先として新しい名前を渡してください。

import os
os.rename("old_directory", "new_directory")

ソースディレクトリが存在しない場合、 Python FileNotFoundErrorが発生するため、最初にパスを確認するのが良いでしょう。

os.renames() を使用してファイルの名前を変更する

os.renames() メソッドは、ファイル名を変更すると同時に、宛先パスに不足している中間ディレクトリを自動的に作成します。また、ソースパスに残っている空のディレクトリも削除します。

import os
os.renames("guru99.txt", "archive/2024/career.txt")

ここでは、アーカイブフォルダと2024フォルダが存在しない場合は自動的に作成されます。

shutil.move() を使用してファイルの名前を変更する

shutil.move() 関数はファイルを新しい場所に移動します。移動先が同じディレクトリの場合は、実質的にファイル名が変更されます。

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

os.rename()とは異なり、shutil.move()は異なるファイルシステムやドライブ間でファイルを移動することもできます。

pathlibモジュールを使用してファイルの名前を変更する

In Python 3.4以降では、pathlibモジュールは、ファイル名を変更するためのオブジェクト指向のPath.rename()メソッドを提供します。

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

rename() メソッドは、名前が変更されたファイルを指す新しい Path オブジェクトを返します。

複数のファイルの名前を変更する方法 Python

複数のファイルを一度に名前変更するには、os.listdir() を使ってディレクトリ内のファイルをループ処理し、各ファイルに対して os.rename() を呼び出します。以下の例では、すべてのファイルに番号付きの接頭辞を追加しています。

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

os.path.join() を使用することで、どのオペレーティングシステムでもコードが正しく動作することが保証されます。

よくあるご質問

os をインポートし、os.rename(src, dst) を呼び出し、現在のファイル名と新しい名前を渡します。ソースファイルは既に存在しているか、 Python FileNotFoundErrorが発生します。

os.rename() は単一のファイルまたはディレクトリの名前を変更しますが、os.renames() は移動後に不足している中間ディレクトリを作成し、空のソースフォルダを削除します。

はい。shutil.move(src, dst) は、宛先が同じフォルダの場合にファイル名を変更し、os.rename() とは異なり、異なるファイルシステム間でファイルを移動することもできます。

os.rename('old_dir', 'new_dir') を使用してください。ソースディレクトリが存在する限り、os.rename() 関数はファイルとディレクトリの両方に使用できます。

os.listdir(folder) をループ処理し、各ファイルに対して os.rename() を呼び出します。os.path.join() を使用して完全なパスを構築することで、どのオペレーティングシステムでもコードが動作するようにします。

GitHub CopilotのようなAIアシスタントは、os.rename()やpathlibの呼び出しを自動補完し、目的の命名パターンを記述したコメントからバッチリネームループを生成します。

はい。AIを活用したツールを使えば、一括名前変更スクリプトの作成を自動化したり、番号付けや日付接頭辞などのパターンを適用したり、名前の欠落や重複に対するエラー処理を追加したりできます。

On Windowsos.rename() は、宛先ファイルが既に存在する場合、FileExistsError を発生させます。Unix では、警告なしに上書きされます。データの損失を避けるため、まず os.path.exists() で確認してください。