• 0

كيف أتأكد ما إذا كانت وحدة بايثون موجودة بدون استدعائها؟

أريد التأكد ما إذا كانت إحدى وحدات البايثون موجودة وتعمل جيدا دون استدعائها، فهل توجد طريقة سهلة لفعل ذلك في بايثون؟

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


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

يوجد العديد من الطرق في بايثون لفعل ذلك، وتعتمد الطرق على الإصدار الذي تستخدمه فلو كنت تستخدم الإصدار الثاني من بايثون فيمكنك استخدام دالة find_module من وحدة imp كما في المثال التالي:

import imp
try:
    imp.find_module('amodule')
    ifmodulefound = True
except ImportError:
    ifmoduleerro = False

أما بالنسبة لإصدارات بايثون 3.0-3.3 فيمكنك استخدام دالة find_loader من وحدة importlib كما في المثال التالي:

import importlib
test = importlib.find_loader('amodule')
iffound = test is not None

أما بالنسبة للإصدارات الأحدث فيمكنك في هذه الحالة استخدام دالة importlib.util.find_spec كما في المثال التالي:

import importlib
test = importlib.util.find_spec('amodule')
iffound = test is not None

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


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

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

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

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


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

تسجيل الدخول

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


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