makedirs kanggo nggawe direktori hierarkis kanthi rekursif ing Python

Bisnis

Kesalahan nalika nggawe direktori anyar karo os.mkdir () ing direktori non-ana

os.mkdir()Iki minangka cara sing digunakake kanggo nggawe direktori (folder) ing Python. Yen sampeyan nyoba nggawe direktori anyar ing direktori sing ora ana, bakal ana kesalahan.(FileNotFoundError)

import os

os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError

Gawe direktori kanthi rekursif nganggo os.madeirs()

Yen sampeyan nggunakake os.makedirs () tinimbang os.mkdir (), bakal nggawe direktori penengah, supaya sampeyan bisa recursively nggawe direktori hirarkis jero.

os.makedirs('not_exist_dir/new_dir')

Ing kasus conto iki, bakal nggawe kabeh bebarengan. Ora apa-apa yen ana sawetara direktori penengah anyar.

  • direktori penengah:not_exist_dir
  • direktori final:new_dir

Nanging, yen direktori pungkasan wis ana, bakal ana kesalahan.(FileExistsError)

os.makedirs('exist_dir/exist_dir')
# FileExistsError

Yen ana argumen exist_ok

Wiwit Python 3.2, argumen exist_ok wis ditambahake, lan yen exist_ok = Bener, ora ana kesalahan sanajan direktori pungkasan wis ana. Yen direktori pungkasan ora ana, sing anyar bakal digawe, lan yen ana, ora ana sing bakal ditindakake. Iki trep amarga sampeyan ora perlu mriksa anane direktori terminal luwih dhisik.

os.makedirs('exist_dir/exist_dir', exist_ok=True)

Yen argumen exist_ok ilang

Yen sampeyan duwe versi lawas saka Python lan ora duwe argumen exist_ok ing os.madeirs, sampeyan bisa nggunakake os.path.exists kanggo nemtokake apa ana direktori pungkasan, lan banjur nggawe anyar mung yen ora ana. direktori pungkasan.

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')
Copied title and URL