Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでディレクトリが存在しない場合に作成する方法

Pythonでプログラミングを行う際は、慣用的な(イディオマティックな)書き方を心がけるのが一般的です。Pythonの代表的なイディオムのひとつに「EAFP(Easier to ask for forgiveness than permission:許可を求めるより、許しを請う方が容易)」という考え方があります。これは、事前に存在確認をするのではなく、まずディレクトリ作成を試みて、すでに存在する場合に発生するエラーを捕捉して対処するというアプローチです。

実装例

以下のコードでは、os.makedirs()でディレクトリの作成を試み、エラーが「すでに存在する」ことを示すものであれば無視し、それ以外のエラーであれば再送出します。

import os, errno
try:
    os.makedirs('my_folder')
except OSError as e:
    # エラーが「既に存在する」以外の場合は例外を再送出、そうでなければ続行
    if e.errno != errno.EEXIST:
        raise
# ここで my_folder を自由に使用できます

よりシンプルな方法:exist_ok 引数を使う

なお、Python 3.2以降ではos.makedirs()exist_ok=Trueを指定するだけで、同じ処理を1行で実現できます。こちらの方が簡潔で読みやすいため、特別な理由がない限りこの方法が推奨されます。

import os
os.makedirs('my_folder', exist_ok=True)
# ディレクトリが存在しない場合は作成され、
# 既に存在していてもエラーにはなりません

どちらの方法でも、ディレクトリの有無を事前にチェックすることなく安全にフォルダを作成できるため、スクリプトの実行環境が変わっても堅牢に動作します。

  1. Matplotlibを使ってPythonで複数のプロットを繰り返し作成する方法

    Matplotlibは、データ可視化のために広く利用されている人気のPythonライブラリです。データの可視化は非常に重要なステップであり、数値を一つひとつ確認したり複雑な計算を実行したりすることなく、データ内で何が起きているのかを把握するのに役立ちます。さらに、定量的な洞察を読者や聴衆へ効果的に伝えるための強力な手段にもなります。Matplotlibは、データから2次元のプロットを作成するために使用されます。オブジェクト指向APIを備えているため、Pythonアプリケーションへのグラフの埋め込みも簡単に行えます。IPythonシェル、Jupyter Notebook、Spyder IDEなど

  2. PythonのMatplotlibでヒストグラムを作成する方法をわかりやすく解説

    Matplotlibは、データ可視化のために広く使われている人気のPythonライブラリです。データの可視化は非常に重要なステップです。数値を一つずつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。また、定量的な洞察を効果的に伝える手段としても優れています。MatplotlibとはMatplotlibは、データをもとに2次元のプロット(グラフ)を作成するためのライブラリです。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも簡単に行えます。IPythonシェル、Jupyter Noteboo