ファイル/ディレクトリ操作

ファイルの存在チェック

os.path.exists関数を使う。

>>> import os
>>> os.path.exists('/etc/passwd')
True
>>> os.path.exists('/etc/hogehoge')
False

ファイルの種類を調べる

通常ファイルかどうか ― os.path.isfile関数
True) 通常ファイルのとき False) 通常ファイルでないとき

>>> import os
>>> os.path.isfile('/etc/passwd')
True
>>> os.path.isfile('/etc')
False

ディレクトリかどうか ― os.path.isdir関数
True) ディレクトリのとき False) ディレクトリでないとき

>>> import os
>>> os.path.isdir('/etc')
True
>>> os.path.isdir('/etc/paswd')
False

パス名が絶対パスかどうかを調べる

os.path.isabs関数を使う。
パス名の先頭が/(スラッシュ)で始まっていれば絶対パス、そうでなければ相対パスを表す。

import os
>>> os.path.isabs('/usr/local/bin/python')
True
>>> os.path.isabs('usr/local/bin/pyhon')
False
>>> os.path.isabs('/a/b/c/d') # 存在しないファイル名でもOK。
True

ファイルコピー

shutil.copy関数を使う。

>>> import shutil
>>> shutil.copy('from.txt', 'dest.txt') # from.txtをdest.txtにコピーする

ファイルの移動

shutil.move関数を使う。
この関数は、ファイルをコピーしてからオリジナルを削除する。

>>> import shutil
>>> shutil.move('original.txt', 'work/moved.txt') # カレントディレクトリにあるworkディレクトリにmoved.txtというファイル名で移動する。

通常ファイルの削除

os.remove関数を使う。

ファイル名の変更

os.rename関数を使う。
ディレクトリ名の変更も可。

>>> import os
>>> os.rename('aaa.txt', 'bbb.txt') # aaa.txtのファイル名をbbb.txtに変更する。

関連ページ

os.path.exists

参考文献

入門Python 3