خطأ عند إنشاء دليل جديد باستخدام 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')


