Бар емес каталогта 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=True болса, соңғы каталог бұрыннан бар болса да, қате болмайды. Егер соңғы каталог жоқ болса, жаңасы жасалады, ал бар болса, ештеңе жасалмайды. Бұл ыңғайлы, себебі терминал каталогының бар-жоғын алдын ала тексерудің қажеті жоқ.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
Егер exist_ok аргументі жоқ болса
Егер сізде Python бағдарламасының ескі нұсқасы болса және os.madeirs ішінде exist_ok аргументі болмаса, соңғы каталогтың бар-жоғын анықтау үшін os.path.exists пайдалана аласыз, содан кейін ол жоқ болса ғана жаңасын жасай аласыз. соңғы каталог.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')