Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mensimulasikan Fungsi `mkdir -p` dalam Python?

Bagaimana untuk Mensimulasikan Fungsi `mkdir -p` dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-10-28 19:40:29362semak imbas

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

Python mkdir -p Equivalent

Untuk mensimulasikan fungsi mkdir -p shell dari dalam Python, terdapat beberapa pendekatan yang tersedia.

Python 3.5 dan Kemudian

Python 3.5 memperkenalkan fungsi pathlib.Path.mkdir, yang merangkumi ibu bapa dan parameter exist_ok. Dengan menetapkan ibu bapa kepada True dan exist_ok kepada True, ia mencipta direktori dan mana-mana direktori induk yang tidak wujud tanpa menimbulkan ralat:

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

Python 3.2 dan Kemudian

Untuk Python 3.2 dan ke atas, fungsi os.makedirs mempunyai hujah ketiga pilihan, exist_ok, yang boleh ditetapkan kepada True untuk mencapai kelakuan yang sama:

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

Versi Python Terdahulu

Untuk versi Python yang lebih lama, anda boleh menggunakan fungsi os.makedirs dan menangkap pengecualian OSError apabila direktori sudah wujud menggunakan kod berikut:

<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>

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Fungsi `mkdir -p` dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn