កំហុសនៅពេលបង្កើតថតថ្មីជាមួយ os.mkdir() នៅក្នុងថតដែលមិនមាន
os.mkdir()
នេះគឺជាវិធីសាស្ត្រដែលប្រើដើម្បីបង្កើតថតឯកសារ (ថតឯកសារ) នៅក្នុង Python ។ ប្រសិនបើអ្នកព្យាយាមបង្កើតថតថ្មីនៅក្នុងថតដែលមិនមាន នោះកំហុសនឹងកើតឡើង។(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
បង្កើតថតឡើងវិញជាមួយ os.madeirs()
ប្រសិនបើអ្នកប្រើ os.makedirs() ជំនួសឱ្យ os.mkdir() វានឹងបង្កើតថតកម្រិតមធ្យម ដូច្នេះអ្នកអាចបង្កើតបញ្ជីឋានានុក្រមជ្រៅមួយឡើងវិញបាន។
os.makedirs('not_exist_dir/new_dir')
ក្នុងករណីឧទាហរណ៍នេះ វានឹងបង្កើតវាទាំងអស់ក្នុងពេលតែមួយ។ វាមិនអីទេប្រសិនបើមានថតកម្រិតមធ្យមថ្មីជាច្រើន។
- ថតកម្រិតមធ្យម:
not_exist_dir
- ថតចុងក្រោយ:
new_dir
ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើថតបញ្ចប់មានរួចហើយ កំហុសនឹងកើតឡើង។(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
ប្រសិនបើមានអាគុយម៉ង់ exist_ok
ចាប់តាំងពី Python 3.2 អាគុយម៉ង់ exist_ok ត្រូវបានបន្ថែម ហើយប្រសិនបើ exist_ok=True នោះគ្មានកំហុសណាមួយនឹងកើតឡើងទេ ទោះបីជាមានថតបញ្ចប់រួចហើយក៏ដោយ។ ប្រសិនបើបញ្ជីបញ្ចប់មិនមានទេ នោះនឹងបង្កើតបញ្ជីថ្មី ហើយប្រសិនបើវាមាន នោះនឹងមិនមានអ្វីកើតឡើងទេ។ វាងាយស្រួលព្រោះអ្នកមិនចាំបាច់ពិនិត្យមើលអត្ថិភាពនៃថតស្ថានីយជាមុនទេ។
os.makedirs('exist_dir/exist_dir', exist_ok=True)
ប្រសិនបើអាគុយម៉ង់ exist_ok បាត់
ប្រសិនបើអ្នកមានកំណែចាស់របស់ Python ហើយមិនមានអាគុយម៉ង់ exist_ok នៅក្នុង os.madeirs អ្នកអាចប្រើ os.path.exists ដើម្បីកំណត់ថាតើមានថតបញ្ចប់ឬអត់ ហើយបន្ទាប់មកបង្កើតថ្មីមួយបានលុះត្រាតែមិនមាន ថតបញ្ចប់។
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')