13,009
回編集
705行目: | 705行目: | ||
else : | else : | ||
print(path2 + 'は存在しません') | print(path2 + 'は存在しません') | ||
</syntaxhighlight> | |||
<br><br> | |||
== ファイル名の変更 == | |||
ファイル名を変更する場合は、<code>os</code>モジュールの<code>rename</code>関数を使用する。<br> | |||
<syntaxhighlight lang="python"> | |||
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) | |||
</syntaxhighlight> | |||
<br> | |||
第1引数に指定したパスが示すファイル名を、第2引数に指定したパスが示すファイル名に変更する。<br> | |||
<br> | |||
ファイル名を変更する場合、変更前と変更後でファイルのディレクトリが異なっていても問題ない。<br> | |||
ただし、ファイル名を変更する時、変更後のディレクトリが存在しない場合、例外<code>FileNotFoundError</code>が発生する。<br> | |||
<syntaxhighlight lang="python"> | |||
import os | |||
oldpath1 = './test/book.txt' | |||
newpath1 = './test/memo.txt' | |||
os.rename(oldpath, newpath) | |||
oldpath2 = './test/book.txt' | |||
newpath2 = './test/back/memo.txt' | |||
os.rename(oldpath, newpath) | |||
</syntaxhighlight> | |||
<br> | |||
Windows環境の場合、変更後のパスが既に存在する場合、例外<code>FileExistsError</code>が発生する。<br> | |||
<syntaxhighlight lang="python"> | |||
import os | |||
oldpath = './test/book.txt' | |||
newpath = './back/memo.txt' | |||
os.rename(oldpath, newpath) # 既にmemo.txtファイルが存在する場合は、例外FileExistsErrorが発生する | |||
</syntaxhighlight> | |||
<br><br> | |||
== ファイル名の変更 (pathlibモジュールの使用) == | |||
ファイル名を変更する場合は、<code>pathlib</code>モジュールにある<code>Path</code>クラスの<code>rename</code>メソッドを使用する。<br> | |||
<br> | |||
パスが示すファイルの名前を、引数に指定したパスが示すファイル名に変更する。<br> | |||
<br> | |||
ファイル名を変更する場合、変更前と変更後でファイルのディレクトリが異なっていても問題ない。<br> | |||
ただし、ファイル名を変更する時、変更後のディレクトリが存在しない場合、例外<code>FileNotFoundError</code>が発生する。<br> | |||
<syntaxhighlight lang="python"> | |||
Path.rename(target) | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="python"> | |||
import pathlib | |||
oldpath1 = pathlib.Path('./test/book.txt') | |||
oldpath1.rename(pathlib.Path('./test/memo.txt')) | |||
oldpath2 = pathlib.Path('./test/book.txt') | |||
oldpath2.rename(pathlib.Path('./test/back/memo.txt')) | |||
</syntaxhighlight> | |||
<br> | |||
Windows環境の場合、変更後のパスが既に存在する場合、例外<code>FileExistsError</code>が発生する。<br> | |||
<syntaxhighlight lang="python"> | |||
import pathlib | |||
oldpath = pathlib.Path('./test/book.txt') | |||
oldpath.rename(pathlib.Path('./test/address.txt')) # 既にaddress.txtファイルが存在する場合は、例外FileExistsErrorが発生する | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> |