なんだかGoodVibes

日々の勉強メモです。

【Python】ディレクトリ操作(osモジュール)

こんにちは。
本日はPythonメモです。

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'



以上です。