Python

【Python】ディレクトリを作成する方法

この記事では、Pythonのソースコード内からディレクトリを作成する方法を紹介します。ディレクトリを作成するには、osモジュールの関数を使います。

パスを指定して作成する[mkdir関数]

osモジュールのmkdir関数を使うことでディレクトリを作成できます。

import os

os.mkdir(path, mode=0o777, *, dir_fd=None)

path引数には、作成するディレクトリのパスを相対パス、または絶対パスで指定します。

すでに同じパスのディレクトリが存在している場合はFileExistsError、パスが間違っている場合は、FileNotFoundErrorが送出されます。

サンプル

試しにデスクトップにディレクトリを作成してみましょう。

import os

# デスクトップのパス(使っているPCのデスクトップのパスを指定)
path = '/Users/ユーザー名/Desktop'

# ディレクトリ名
dir_name = 'dir'

# ディレクトリの作成
os.mkdir(os.path.join(path, dir_name))

これでデスクトップに「dirディレクトリ」が作成されました。

パスを指定して再帰的に作成する[makedirs関数]

先ほどの方法ではデスクトップにディレクトリを作成し、その中にサブディレクトリを作成しようとすると2回同じようなコードを書く必要があります。

それは面倒なのでosモジュールのmakedirs関数を使いましょう。makedirs関数を使うことで 引数に指定したパス通りにディレクトリを作成してくれます。

書式

パスで指定した末端ディレクトリとの間にある存在していないディレクトリもまとめて作成することができます。

import os

os.makedirs(name, mode=0o777, exist_ok=False)

name引数に指定したパス通りに再帰的にディレクトリが作成されます。

exist_ok引数をTrueにすることで同じパスのディレクトリが存在していたとしてもエラーを発生させないようにできます。(Python 3.2で追加)

サンプル

試しに、デスクトップにディレクトリとサブディレクトリを作成してみます。

import os

# デスクトップのパス
path = '/Users/ユーザー名/Desktop'

# デスクトップに作成するディレクトリ名
dir_name1 = 'dir'

# dirディレクトリ内に作成するサブディレクトリ名
dir_name2 = 'sub_dir'

# ディレクトリの作成
os.makedirs(os.path.join(path, dir_name1, dir_name2))

このコードを実行するとデスクトップに下の画像のようなディレクトリが作成されます。

「dirディレクトリ」内に「sub_dirディレクトリ」が作成されています。

まとめ

今回はソースコード内からディレクトリを作成する方法を解説しました。

コード内からディレクトリを操作することでログや設定ファイルを保存するディレクトリを外部に生成したりすることができます。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

Linkディレクトリを削除する方法