ahmed1990 نشر 2 أكتوبر 2015 أرسل تقرير نشر 2 أكتوبر 2015 أريد استدعاء وحدة موجودة في مكان محدد في النظام، فكيف أستطيع استدعاء هذه الوحدة عن طريق تمرير مسار ملفات الوحدة ؟ اقتباس
0 هشام رزق الله نشر 2 أكتوبر 2015 أرسل تقرير نشر 2 أكتوبر 2015 هنالك طرق متعددة لاستدعاء مكتبة/وحدة معينة عن طريق مسارها، ومن أسهل هذه الطرق استدعاء مكتبة 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المصدر اقتباس
السؤال
ahmed1990
أريد استدعاء وحدة موجودة في مكان محدد في النظام، فكيف أستطيع استدعاء هذه الوحدة عن طريق تمرير مسار ملفات الوحدة ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.