makedirs нь Python дээр рекурсив байдлаар гүнзгий шаталсан лавлахуудыг үүсгэх

Бизнес эрхэлдэг

Байгаагүй лавлах дотор os.mkdir() ашиглан шинэ лавлах үүсгэх үед алдаа гарлаа

os.mkdir()Энэ нь Python дээр лавлах (хавтас) үүсгэхэд хэрэглэгддэг арга юм. Хэрэв та байхгүй директорт шинэ лавлах үүсгэхийг оролдвол алдаа гарна.(FileNotFoundError)

import os

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

os.madeirs() ашиглан рекурсив санг үүсгэнэ үү.

Хэрэв та os.mkdir()-ийн оронд os.makedirs()-г ашиглавал завсрын лавлах үүсгэх бөгөөд ингэснээр та гүнзгий шаталсан лавлахыг рекурсив байдлаар үүсгэж болно.

os.makedirs('not_exist_dir/new_dir')

Энэ жишээний хувьд бүгдийг нэг дор үүсгэх болно. Олон тооны шинэ завсрын лавлахууд байвал зүгээр.

  • завсрын лавлах:not_exist_dir
  • эцсийн лавлах:new_dir

Гэсэн хэдий ч, хэрэв төгсгөлийн лавлах аль хэдийн байгаа бол алдаа гарна.(FileExistsError)

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

Хэрэв маргаан байгаа бол_за

Python 3.2-оос хойш exist_ok аргумент нэмэгдсэн бөгөөд хэрэв exist_ok=Үнэн бол төгсгөлийн лавлах аль хэдийн байгаа байсан ч алдаа гарахгүй. Хэрэв төгсгөлийн лавлах байхгүй бол шинээр үүсгэх бөгөөд хэрэв байгаа бол юу ч хийхгүй. Энэ нь тохиромжтой, учир нь та терминалын лавлах байгаа эсэхийг урьдчилан шалгах шаардлагагүй болно.

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

Хэрэв байгаа бол_ok гэсэн аргумент дутуу байна

Хэрэв танд Python-ийн хуучин хувилбар байгаа бөгөөд os.madeirs доторх exist_ok аргумент байхгүй бол та os.path.exists-г ашиглан төгсгөлийн лавлах байгаа эсэхийг тодорхойлж, хэрэв байхгүй бол шинээр үүсгэж болно. төгсгөлийн лавлах.

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