目次
概要
Pythonで新しくフォルダを作成するには、標準モジュールos
を使うか、
パスをオブジェクトとして操作できるpathlib
モジュールを使う方法(Python3.4以降)があります。
方法 | 説明 |
---|---|
os.mkdir() |
新しくディレクトリを作成します。 |
os.makedirs() |
深い階層のディレクトリまで再帰的に作成します。 |
pathlib.Path('temp/dir').mkdir() |
新しくディレクトリを作成します。 |
os.mkdir()
os.mkdir()
は、引数で指定したパス文字列の場所に新しくディレクトリが作成できます。- 既に存在しているディレクトリを指定するとエラー(
FileExistsError
)が発生します。 - まだ存在していないディレクトリの中に新たなディレクトリを作成する場合もエラー(
FileNotFoundError
)が発生します。
- 既に存在しているディレクトリを指定するとエラー(
os.mkdir()
を使う場合は作成するディレクトリの直上までのディレクトリが存在している必要があります。- 一気に新規作成するにはos.makedirs()を使います。
C:\temp2ディレクトリを作成
import os os.mkdir("C:\\temp2")
参考
os.makedirs()
os.makedirs()
は、深い階層のディレクトリまで再帰的に一気に作成できます。- 既に存在しているディレクトリを指定するとエラー(
FileExistsError
)が発生します。
C:\temp2\temp3\temp4\temp5 ディレクトリを作成
import os os.makedirs("C:\\temp2\\temp3\\temp4\\temp5")
引数:exists_ok (Python3.2以降)
- Pythonのバージョン
3.2
で引数:exist_ok
が追加されました。 - 引数:
exist_ok=True
を指定すると、ディレクトリが存在していてもエラーとなりません(デフォルトはexist_ok=False
)。
exist_ok=Trueを指定
import os os.makedirs("C:\\temp2\\temp3\\temp4\\temp5", exist_ok=True)
参考
pathlib.Path().mkdir()
pathlib.Path().mkdir()
で新しくディレクトリが作成できます。- 作成しようとするディレクトリの中間ディレクトリが存在していないとエラー(
FileNotFoundError
)が発生します。 - 既に存在しているディレクトリを指定するとエラー(
FileExistsError
)が発生します。
C:\temp2\temp3\temp4\temp5 ディレクトリを作成
import pathlib p = pathlib.Path("C:\\temp2\\temp3\\temp4\\temp5") p.mkdir()
引数:parents
- 中間ディレクトリもまとめて作成するには、引数:
parents=True
を指定します。 - 引数:
parents=True
を指定すると、中間ディレクトリディレクトリが存在していなくてもエラーとなりません(デフォルトはparents=False
)
parents=Trueを指定
import pathlib p = pathlib.Path("C:\\temp3\\aaa\\bbb") p.mkdir(parents=True)
引数:exists_ok
- 引数:
exist_ok=True
を指定すると、ディレクトリが存在していてもエラーとなりません(デフォルトはexist_ok=False
)。
exist_ok=Trueを指定
import pathlib p = pathlib.Path("C:\\temp3\\aaa\\bbb") p.mkdir(exist_ok=True)