ホームページ  >  記事  >  バックエンド開発  >  Python で「mkdir -p」機能をシミュレートするには?

Python で「mkdir -p」機能をシミュレートするには?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 19:40:29362ブラウズ

How to Simulate the `mkdir -p` Functionality in Python?

Python mkdir -p 同等

Python 内からシェルの mkdir -p 機能をシミュレートするには、いくつかのアプローチが利用可能です。

Python 3.5 以降

Python 3.5 では、parents パラメーターとexist_ok パラメーターを含む pathlib.Path.mkdir 関数が導入されています。 parent を True に設定し、exist_ok を True に設定すると、エラーが発生することなく、ディレクトリと存在しない親ディレクトリが作成されます。

<code class="python">import pathlib
pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True)</code>

Python 3.2 以降

Python 3.2 以降の場合、os.makedirs 関数にはオプションの 3 番目の引数、exist_ok があり、これを True に設定すると同じ動作を実現できます:

<code class="python">import os
os.makedirs("/tmp/path/to/desired/directory", exist_ok=True)</code>

以前の Python バージョン

古いバージョンの Python の場合、次のコードを使用して、os.makedirs 関数を使用し、ディレクトリが既に存在する場合に OSError 例外をキャッチできます。

<code class="python">import errno    
import os

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:  # Python ≥ 2.5
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        # possibly handle other errno cases here, otherwise finally:
        else:
            raise</code>

以上がPython で「mkdir -p」機能をシミュレートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。