こんにちは。
本日はPythonメモです。
- osモジュールとは
- 現在のパスを取得する
- パスを移動する
- ディレクトリ、ファイルの一覧を取得する
- ディレクトリを作成する
- ディレクトリかどうか判定する
- 空のディレクトリを削除する
- 空のディレクトリを削除する(再帰的)
osモジュールとは
本サンプルではosモジュールを使用します。
osモジュールとは、osに依存する機能を扱うためのモジュールです。
osモジュールは標準ライブラリに含まれています。
現在のパスを取得する
import os
os.getcwd()
パスを移動する
import os # 相対パス、絶対パスどちらも指定可能 os.chdir('../')
ディレクトリ、ファイルの一覧を取得する
import os os.listdir('./')
引数を指定しない場合は、現在の場所が対象になります。
import os
os.listdir()
ディレクトリを作成する
import os os.makedirs('./aaa/bbb')
すでにディレクトリが存在する場合は、以下のエラーが発生します。
FileExistsError: [Errno 17] File exists: './aaa/bbb'
ディレクトリかどうか判定する
import os os.path.isdir('./aaa/bbb')
空のディレクトリを削除する
空のディレクトリを1つ削除します。
import os os.rmdir('./bbb')
空でないディレクトリを指定すると以下のエラーが発生します。
OSError: [Errno 66] Directory not empty: './bbb'
空のディレクトリを削除する(再帰的)
空のディレクトリが対象ですが、
rmdirと異なり再帰的にディレクトリを削除します。
引数で指定されたディレクトリを削除し、
その親ディレクトリが空の場合は親ディレクトリを削除します。
親ディレクトリの親が空の場合……と削除処理を行います。
import os os.removedirs('./aaa/bbb')
空でないディレクトリを指定すると以下のエラーが発生します。
OSError: [Errno 66] Directory not empty: './aaa/bbb'
以上です。