Python ディレクトリ(フォルダ)を作成する方法 – mkdir, makedirs
Pythonには、ディレクトリやファイルを操作するためのモジュールがありますが、その中でも特に一般的に使用されるのがos
モジュールです。os
モジュールは、OSに依存した機能を提供するモジュールであり、ファイルやディレクトリの操作もその一部です。
ディレクトリの作成
Pythonのosモジュールを使用すると、新たなディレクトリを作成することが可能です。
os.mkdirによるディレクトリの作成
osモジュールのmkdir
関数を使用すると、ディレクトリを作成することができます。引数には作成したいディレクトリのパスを指定します。
1import os
2
3os.mkdir("test_directory")
このコードは、現在のディレクトリ下に”test_directory”というディレクトリを作成します。
os.makedirsによる再帰的なディレクトリの作成
os.makedirs
関数は、os.mkdir
関数と似ていますが、サブディレクトリも含めて一度に作成することが可能です。これはmkdir
が持つ一つの制限を克服するためのものです。mkdir
は存在しないパスを指定するとエラーを返しますが、makedirs
は中間ディレクトリを自動的に作成します。
1import os
2
3os.makedirs("test_directory/sub_directory")
このコードは、現在のディレクトリ下に”test_directory”というディレクトリとそのサブディレクトリ”sub_directory”を作成します。
既にディレクトリが存在する場合のハンドリング
ディレクトリを作成する際に、すでに同じ名前のディレクトリが存在していた場合、エラーが発生します。これを適切にハンドリングする方法を見ていきましょう。
os.mkdirの場合
os.mkdir
関数を使用してディレクトリを作成する際、既に同じ名前のディレクトリが存在しているとエラーが発生します。これを避けるためには、ディレクトリが存在するかどうかを確認してからディレクトリを作成します。
1import os
2
3if not os.path.exists("test_directory"):
4 os.mkdir("test_directory")
このコードは”test_directory”というディレクトリがすでに存在する場合は何も行わず、存在しない場合のみディレクトリを作成します。
os.makedirsの場合
os.makedirs
関数を使用してディレクトリを作成する際も、同様に既に同じパスのディレクトリが存在するとエラーが発生します。これを防ぐためにはexist_ok=True
というオプションを指定します。
1import os
2
3os.makedirs("test_directory/sub_directory", exist_ok=True)
このコードは、”test_directory/sub_directory”というディレクトリがすでに存在していてもエラーを返さず、存在しない場合のみディレクトリを作成します。
これらの手法を使うことで、Pythonでディレクトリを作成する際のエラーを適切にハンドリングすることが可能になります。