
【Python】ディレクトリ(directory)の作成方法と使い方を解説
公開: 更新:Pythonでディレクトリを作成する基本的な方法
【サンプルコード】
import os
dir_name = "example_dir"
if not os.path.exists(dir_name):
os.makedirs(dir_name)
import os
は、Pythonの標準ライブラリであるos
モジュールをインポートしています。このモジュールにはオペレーティングシステムを操作するための機能が含まれており、ディレクトリの作成やファイルの操作などが可能です。
dir_name
は変数で、作成したいディレクトリの名前を文字列として保存しています。ここでは"example_dir"という名前のディレクトリを作成する例を示しています。
if not os.path.exists(dir_name):
は、dir_name
で指定されたディレクトリが存在しない場合のみ、中の処理を実行する条件文です。os.path.exists
関数は、指定されたパスが存在するかどうかを確認します。
存在しない場合はFalse
を返し、この条件文がTrue
と評価されるため、ディレクトリの作成処理が実行されます。
os.makedirs(dir_name)
は、指定されたパスにディレクトリを作成します。この関数は、必要に応じて中間ディレクトリも作成するため、複数レベルのディレクトリを一度に作成することができます。
上記のサンプルコードでは、"example_dir"という名前のディレクトリがカレントディレクトリに作成されます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
Pythonでディレクトリ作成のエラーハンドリングする方法
【サンプルコード】
try:
os.makedirs(dir_name)
except FileExistsError:
print(f"The directory '{dir_name}' already exists.")
try
ブロックは、エラーが発生する可能性のあるコードを実行します。
上記の例では、os.makedirs(dir_name)
をtry
ブロック内で実行しており、すでに存在するディレクトリを作成しようとした場合はFileExistsError
が発生します。
except FileExistsError:
は、FileExistsError
が発生した場合に実行されるブロックです。このブロック内でエラーメッセージを出力することで、ディレクトリが既に存在することをユーザーに通知します。
f"The directory '{dir_name}' already exists."
は、フォーマット済み文字列リテラルを使用しています。これにより変数dir_name
の値を直接文字列に埋め込むことができます。
Pythonでディレクトリ作成とパス指定をする方法
【サンプルコード】
import os
path = "path/to/directory"
os.makedirs(path, exist_ok=True)
path
変数では、作成したいディレクトリのフルパスを指定しています。例として"path/to/directory"というパスが使用されており、このパスは実際の環境に合わせて適宜変更する必要があります。
os.makedirs(path, exist_ok=True)
は、指定されたパスにディレクトリを作成します。exist_ok=True
パラメータは、ディレクトリが既に存在する場合でもエラーを発生させないようにするためのものです。
これにより、ディレクトリが存在しない場合は新たに作成し、存在する場合は何もせずに処理を続行することができます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
- 【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に