خطأ عند إنشاء دليل جديد باستخدام os.mkdir () في دليل غير موجود
os.mkdir()
هذه هي الطريقة المستخدمة لإنشاء دليل (مجلد) في بايثون. إذا حاولت إنشاء دليل جديد في دليل غير موجود ، فسيحدث خطأ.(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
إذا كانت هناك حجة موجودة
منذ Python 3.2 ، تمت إضافة الوسيطة الموجودة ، وإذا كان موجودًا = صحيحًا ، فلن يحدث خطأ حتى إذا كان دليل النهاية موجودًا بالفعل. إذا لم يكن دليل النهاية موجودًا ، فسيتم إنشاء دليل جديد ، وإذا كان موجودًا ، فلن يتم فعل أي شيء. هذا مناسب لأنك لست بحاجة إلى التحقق من وجود الدليل الطرفي مقدمًا.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
إذا كانت الوسيطة موجودة في عداد المفقودين
إذا كان لديك إصدار أقدم من Python ولم يكن لديك الوسيطة الموجودة في os.madeirs ، فيمكنك استخدام os.path.exists لتحديد ما إذا كان هناك دليل نهاية أم لا ، ثم إنشاء دليل جديد فقط في حالة عدم وجود دليل النهاية.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')