• 0

ما هي أفضل طريقة في بايثون لحذف ملف قد لا يكون موجود؟

هل هنالك طريقة سهلة وقصيرة لحذف ملف في بايثون قد لا يكون موجود؟ أي أنني لا أريد أن تظهر رسالة خطأ ويتوقف البرنامج إذا لم يكن الملف موجود.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق يمكنك من خلالها حذف ملف قد لا يكون موجودا، فيمكنك على سبيل المثال استخدام try except على دالة remove من وحدة os  ومن ثم تستثني خطأ OSError كما في المثال التالي:

try:
    os.remove(filename)
except OSError:
    pass

هذه الطريقة تتكون من عدة أسطر وتبدو قبيحة نوعا ما، ولتجنبها يمكنك أن تتأكّد أولًا من وجود الملف عن طريق استخدام دالة os.path.exists() التي سترجع true إذا كان الملف أو المجلد موجودا.
الحل بسطر واحد:

os.remove(fn) if os.path.exists(fn) else None

المصدر

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن