Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh meniru fungsi \'mkdir -p\' dalam Python?

Bagaimanakah saya boleh meniru fungsi \'mkdir -p\' dalam Python?

Barbara Streisand
Lepaskan: 2024-10-29 12:11:02
asal
652 orang telah melayarinya

How can I replicate the

Mereplikasi Kefungsian mkdir -p dalam Python

Arahan mkdir -p pada sistem seperti Unix mencipta direktori dan laluan induknya dengan lancar jika mereka belum wujud. Adakah terdapat penyelesaian Python asli yang menyediakan fungsi yang serupa?

Penyelesaian:

Nasib baik, versi Python yang berbeza menawarkan penyelesaian untuk tugas ini:

Untuk Python 3.5 dan Ke Atas:

Python 3.5 memperkenalkan pathlib.Path.mkdir dengan ibu bapa=True and exist_ok=Argumen yang benar:

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

Untuk Python 3.2 dan Ke Atas:

os.makedirs menawarkan argumen exist_ok, yang, apabila ditetapkan kepada True, mendayakan fungsi mkdir -p:

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

Untuk Python Lama Versi:

Untuk versi Python lebih awal daripada 3.2, anda boleh menggunakan os.makedirs dan mengabaikan sebarang ralat yang berkaitan dengan direktori sedia ada:

<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
        # Handle other errors here or raise a generic exception.</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh meniru fungsi \'mkdir -p\' dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan