Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta Direktori dan Direktori Induk yang Hilang dalam Python?

Bagaimana untuk Mencipta Direktori dan Direktori Induk yang Hilang dalam Python?

Linda Hamilton
Lepaskan: 2024-12-21 10:17:09
asal
1010 orang telah melayarinya

How to Create a Directory and its Missing Parent Directories in Python?

Mencipta Direktori dan Direktori Induk Hilang menggunakan Python

S: Bagaimanakah saya boleh mencipta direktori pada laluan tertentu sambil juga mencipta sebarang direktori induk yang hilang di sepanjang laluan itu?

Untuk mencapai fungsi ini dalam Python ≥ 3.5, gunakan pathlib.Path.mkdir:

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

Untuk versi Python terdahulu, pertimbangkan pendekatan berikut:

Pendekatan 1: Gunakan os.path.exists dan os.makedirs

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

Walaupun pendekatan ini mudah, ia menimbulkan keadaan perlumbaan yang berpotensi.

Pendekatan 2: Tangani Keadaan Perlumbaan Berpotensi

import os, errno

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

Pilihan ini menangani keadaan perlumbaan dengan menangkap dan memeriksa kod ralat.

Sawa Moden Penambahbaikan:

Python versi 3.3 dan 3.2 memperkenalkan penambahbaikan:

  • FileExistsError terdedah, membolehkan pengendalian ralat yang lebih bersih.
  • os.makedirs menampilkan exist_ok hujah kata kunci, membolehkan penciptaan direktori walaupun sudah wujud.
try:
    os.makedirs("path/to/directory")
except FileExistsError:
    # directory already exists
    pass
Salin selepas log masuk
os.makedirs("path/to/directory", exist_ok=True)  # succeeds even if directory exists.
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Direktori dan Direktori Induk yang Hilang 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