Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk membuat direktori dengan direktori perantaraan dalam Python?

Bagaimana untuk membuat direktori dengan direktori perantaraan dalam Python?

DDD
DDDasal
2024-10-29 13:49:29526semak imbas

How to create a directory with intermediate directories in Python?

Fungsi "mkdir -p" dalam Python [pendua]

Dalam Python, bagaimana untuk melaksanakan sesuatu yang serupa dengan arahan shell "mkdir -p" "Fungsi? Mengharapkan penyelesaian yang tidak bergantung pada panggilan sistem dan mempunyai panjang kod kurang daripada 20 talian.

Penyelesaian

Untuk Python ≥ 3.5, gunakan pathlib.Path.mkdir:

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

Parameter exist_ok adalah baharu dalam Python 3.5.

Untuk Python ≥ 3.2, os.makedirs mempunyai argumen ketiga pilihan exist_ok yang, apabila Benar, mendayakan fungsi mkdir -p kecuali apabila mod disediakan dan Keizinan direktori berbeza daripada kebenaran yang dijangkakan dalam kes ini , OSError dinaikkan seperti sebelum ini:

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

Untuk versi Python yang lebih awal, anda boleh menggunakan os.makedirs dan abaikan ralat:

<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
        # 还可以在此处理其他errno情况,否则:
        else:
            raise</code>

Atas ialah kandungan terperinci Bagaimana untuk membuat direktori dengan direktori perantaraan 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