اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

هنالك طرق متعددة لاستدعاء مكتبة/وحدة معينة عن طريق مسارها، ومن أسهل هذه الطرق استدعاء مكتبة imp ومن ثم استخدام دالة load_source لاستدعاء المكتبة/الوحدة المطلوبة كما في المثال التالي:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()

ملاحظة: تم ازالت هذه المكتبة في الإصدار 3.4 من البايثون.
أما لو كنت تستخدم بايثون 3.3+ فيمكنك في هذه الحالة استخدام دالة SourceFileLoader من مكتبة importlib كما في المثال التالي:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()

ومن الطرق الأخرى لاستدعاء وحدة/مكتبة يمكنك إضافة مسار المكتبة/الوحدة عن طريق sys.path.append ومن ثم يمكنك استدعاء جميع الوحدات/المكتبات الموجودة في ذلك المسار كما في هذا المثال:

import sys
# the mock-0.3.1 dir contains testcase.py, testutils.py & mock.py
sys.path.append('/foo/bar/mock-0.3.1')

from testcase import TestCase
from testutils import RunTests
from mock import Mock, sentinel, patch

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...