Error kapag gumagawa ng bagong direktoryo na may os.mkdir() sa isang hindi umiiral na direktoryo
os.mkdir()
Ito ang paraan na ginamit upang lumikha ng isang direktoryo (folder) sa Python. Kung susubukan mong lumikha ng bagong direktoryo sa isang hindi umiiral na direktoryo, magkakaroon ng error.(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
Lumikha ng mga direktoryo nang paulit-ulit gamit ang os.madeirs()
Kung gagamit ka ng os.makedirs() sa halip na os.mkdir(), lilikha ito ng intermediate na direktoryo, kaya maaari kang muling lumikha ng malalim na hierarchical na direktoryo.
os.makedirs('not_exist_dir/new_dir')
Sa kaso ng halimbawang ito, lilikha ito ng lahat nang sabay-sabay. OK lang kung mayroong maraming bagong intermediate na direktoryo.
- intermediate na direktoryo:
not_exist_dir
- huling direktoryo:
new_dir
Gayunpaman, kung mayroon nang direktoryo ng pagtatapos, magkakaroon ng error.(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
Kung mayroong isang argumento exist_ok
Mula noong Python 3.2, naidagdag na ang argumentong exist_ok, at kung exist_ok=True, walang error na magaganap kahit na mayroon nang end directory. Kung ang end directory ay hindi umiiral, ang isang bago ay malilikha, at kung ito ay umiiral, walang gagawin. Maginhawa ito dahil hindi mo kailangang suriin nang maaga ang pagkakaroon ng direktoryo ng terminal.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
Kung ang argumento exist_ok ay nawawala
Kung mayroon kang mas lumang bersyon ng Python at wala kang argumentong exist_ok sa os.madeirs, maaari mong gamitin ang os.path.exists upang matukoy kung mayroong end directory o wala, at pagkatapos ay lumikha lamang ng bago kung walang tapusin ang direktoryo.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')