Python - ファイル名・フォルダ名(ディレクトリ名)を変更する

ファイル名・フォルダ名変更するには os.rename または os.replace 関数を使用します。

ファイル名・フォルダ名(ディレクトリ名)の変更方法

os.rename または os.replace 関数に 元のファイル名 と 新しいファイル名 を指定します。
import os

os.rename(src='元のファイルパス', dst='新しいファイルパス')
os.replace(src='元のファイルパス', dst='新しいファイルパス')
サンプルコード
import os

# oldname.txt を newname.txt に変更し、dir 配下に移動
os.rename(src='./oldname.txt', dst='./dir/newname.txt')
os.replace(src='./oldname.txt', dst='./dir/newname.txt')

os.rename と os.replace の違い

名前変更後に同名のファイルがあるとき、Windows と UNIX で挙動が異なります。 ファイル(フォルダを除く)の名前変更は os.replace を使用すると同じ結果になるため、推奨されます。ただし、Python バージョン 3.3 以降が必要です。フォルダを扱う場合はどちらの関数も結果が異なるため、注意が必要です。
os.rename リネーム後に同名のファイル・フォルダがあるときの挙動
対象 リネーム後 Windows UNIX
ファイル 同名ファイル・フォルダがない リネームされる リネームされる
ファイル 同名ファイルがある FileExistsError 上書きされる
ファイル 同名フォルダがある FileExistsError IsADirectoryError
フォルダ 同名ファイル・フォルダがない リネームされる リネームされる
フォルダ 同名ファイルがある FileExistsError NotADirectoryError
フォルダ 同名フォルダがあり、中にファイルなし FileExistsError 上書きされる
フォルダ 同名フォルダがあり、中にファイルあり FileExistsError OSError
os.replace リネーム後に同名のファイル・フォルダがあるときの挙動
対象 リネーム後 Windows UNIX
ファイル 同名ファイル・フォルダがない リネームされる リネームされる
ファイル 同名ファイルがある 上書きされる 上書きされる
ファイル 同名フォルダがある PermissionError IsADirectoryError
フォルダ 同名ファイル・フォルダがない リネームされる リネームされる
フォルダ 同名ファイルがある 上書きされる NotADirectoryError
フォルダ 同名フォルダがあり、中にファイルなし PermissionError 上書きされる
フォルダ 同名フォルダがあり、中にファイルあり PermissionError OSError

検証環境