Python3 os.replace メソッド
概要
os.replace() メソッドは、ファイルまたはディレクトリの名前を変更するために使用します。
Python 3.3 で追加された新機能です。
構文
replace()メソッドの構文は次のとおりです:
os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
ファイルまたはディレクトリ src を dst に名前変更します。dst が空でないディレクトリの場合、OSError が発生します。dst が存在し、かつファイルである場合、ユーザーに権限があれば、それは置き換えられます。
パラメータ
src -- 元のファイルまたはディレクトリ。そのディレクトリまたはファイルが存在しない場合、FileNotFoundError エラーが発生します。
dst -- 名前変更後のファイルまたはディレクトリ。すでに存在する場合は、直接置き換えられます。
src_dir_fd -- ディレクトリ記述子に対する相対パス。
dst_dir_fd -- ディレクトリ記述子に対する相対パス。
戻り値
実行が成功した場合、名前変更は原子操作(アトミック操作)になります(これは POSIX の要件です)。失敗した場合は OSError を返します。
例
以下の例では、replace() メソッドの使用方法を示しています:
テキスト google.txt の内容は次のとおりです:
例
import os
# ファイルまたはディレクトリを名前変更
os.replace('google.txt','サンプル.txt')
# ファイルまたはディレクトリを名前変更
os.replace('google.txt','サンプル.txt')
実行後は サンプル.txt だけが残り、その内容は次のとおりです:
置き換え先のファイル dst がすでに存在する場合は、置き換えられます:
テキスト test1.txt の内容は次のとおりです:
テキスト test2.txt の内容は次のとおりです:
runnob
例
import os
# ファイルまたはディレクトリを名前変更
os.replace('test1.txt','test2.txt')
# ファイルまたはディレクトリを名前変更
os.replace('test1.txt','test2.txt')
実行後は test2.txt だけが残り、その内容は次のとおりです:
Python3 OS ファイル/ディレクトリメソッド