Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencipta Direktori dan Direktori Induk Mereka dalam Python?

Bagaimanakah Saya Boleh Mencipta Direktori dan Direktori Induk Mereka dalam Python?

Barbara Streisand
Lepaskan: 2024-12-15 12:29:19
asal
458 orang telah melayarinya

How Can I Create Directories and Their Parent Directories in Python?

Mencipta Direktori dan Ibu Bapa Mereka dengan Python

Dalam bidang sistem fail, selalunya perlu untuk mencipta direktori, kedua-duanya pada laluan yang ditentukan dan mana-mana direktori induk yang hilang di sepanjang jalan. Ini meniru kefungsian perintah mkdir -p Bash.

Modern Python (≥ 3.5):

Modul pathlib Python menyediakan cara yang mudah untuk mengendalikan perkara ini:

from pathlib import Path
Path("/my/directory").mkdir(parents=True, exist_ok=True)
Salin selepas log masuk

Sawa Tua Versi:

Menggunakan modul os:

import os
if not os.path.exists(directory):
    os.makedirs(directory)
Salin selepas log masuk

Pendekatan ini mempunyai potensi keadaan perlumbaan, seperti yang dinyatakan oleh ulasan. Untuk menangani perkara ini, anda boleh menggunakan os.path.exists kedua memanggil atau memerangkap OSError dan memeriksa kod ralat terbenam:

import os, errno

try:
    os.makedirs(directory)
except OSError as e:
    if e.errno != errno.EEXIST:
        raise
Salin selepas log masuk

Walau bagaimanapun, ini memperkenalkan risiko kehilangan ralat lain.

Versi Python yang Diperbaiki:

Python 3.3 memperkenalkan FileExistsError, yang memudahkan pengendalian ralat:

try:
    os.makedirs("path/to/directory")
except FileExistsError:
    # directory already exists
    pass
Salin selepas log masuk

Python 3.2 juga menambahkan argumen exist_ok pada os.makedirs:

os.makedirs("path/to/directory", exist_ok=True)  # succeeds even if directory exists.
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Direktori dan Direktori Induk Mereka 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