概要

Pythonでディレクトリが存在するかを確認する方法には、主にosモジュールとpathlibモジュールの2つがあります。どちらもディレクトリの存在確認に適しており、状況に応じて使い分けることができます。また、ディレクトリが存在しない場合には作成する方法や、エラーハンドリングについても見ていきます。

os.pathモジュールの使用

os.path.isdir()を使うことで、特定のパスがディレクトリかどうかを確認できます。例えば、次のように使います。

import os
if os.path.isdir('/path/to/directory'):
    print("ディレクトリが存在します")
else:
    print("ディレクトリが存在しません")

一方、os.path.exists()を使うと、ファイルかディレクトリのいずれかが存在するかを確認できます。

if os.path.exists('/path/to/directory'):
    print("ファイルまたはディレクトリが存在します")

pathlibモジュールの使用

Python 3.4以降では、pathlibモジュールが導入され、オブジェクト指向的にファイルパスを操作できるようになりました。ディレクトリの存在確認は以下のように行えます。

from pathlib import Path
if Path('/path/to/directory').is_dir():
    print("ディレクトリが存在します")

pathlibは直感的で、可読性の高いコードが書けるため、Python 3.4以降の環境では推奨される方法です。

ディレクトリの作成

ディレクトリが存在しない場合、os.makedirs()またはpathlib.Path.mkdir()を使ってディレクトリを作成できます。

import os
os.makedirs('/path/to/directory', exist_ok=True)

または、

from pathlib import Path
Path('/path/to/directory').mkdir(parents=True, exist_ok=True)

これにより、親ディレクトリも含めて安全にディレクトリを作成できます。

まとめ

Pythonでディレクトリが存在するかどうかを確認するためには、osモジュールやpathlibモジュールが使えます。それぞれの方法を理解し、適切に選択することで、効率的なファイルシステム操作が可能です。