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

كيفية إستدعاء ملف بايثون في مجلد آخر؟

Adam Ebrahim

السؤال

لدي ملفين بايثون وأريد أن أقوم بإستدعاء الأول في داخل الثاني حتى أتمكن من إستخدام الدوال والمتغيرات الموجدة فيه، وبنيه الملفات كالتالي:

projects
|── blog
|   |── helpers
|       |── files.py
|── dashboard
    |── helpers
        |── all.py

كيف أقوم بإستدعاء الملف files.py من داخل الملف all.py؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك استخدام sys.path.append بهذا الشكل 

import sys
sys.path.append('/.../projects/blog/helpers')

import files

أو يمكنك استخدام sys.path.insert 

import sys
sys.path.insert(1, '/.../projects/blog/helpers')

import files

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك عدة طرق للقيام بذلك لكن أسهلها أن تقوم بوضع الملفين في نفس المسار (نفس المجلد) 
ثم ببساطة اكتب من داخل الملف all.py التعليمة * from files import

على سبيل المثال هنا لدي ملفين الأول reg والثاني un وفي الملف reg يوجد تابع  اسمه  sigmoid فقمت باستدعاءه من داخل الملف un  بهذه الطريقة.
وأنصحك بالتعامل مع محرر الأكواد  جوبيتر فهو يجعل  كل هذه الأمور أسهل

2021-05-30_20h03_57.png

2021-05-30_20h03_47.png

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك عدة طرق لعمل ذلك منها: إستدعاء الوحدة module الذي تسمى ب sys بإستخدام إحدى الوظيفتين

ويتم تحديد المسار على حالتين إما يكون المسار كامل absolute أو يكون المسار نسبي أو ذو صلة relative

فالمسار المطلق أو الكامل absolute نبداء بالجذر root أي بهذه الإشارة / مثل

/projects/blog/helpers

إذا كان المجلد projects في الجذر وهنا تكمن مشكلة بحيث يجب علينا أن نقوم بتحديد المسار كاملاً

أما المسار النسبي relative فهو تحديد المسار نسبياً للمكان الذي نحن فيه ولا يجب أن نعرف المسار الكامل absolute ، فإذا أردنا الوصول الى مسار files.py من مسار all.py بإستخدام المسار النسبي فيمكننا كتابة المسار هكذا

../../blog/helpers

أما كيفية إستدعائه في بايثون فهناك عدة طرق وسنستخدم المسار النسبي لأنه أفضل عندما لايكون لدينا المسار الكامل

1- sys.path.append كما في الكود

import sys
sys.path.append('../../blog/helpers')
import files

2- sys.path.insert كما في الكود

import sys
sys.path.insert(1,'../../blog/helpers')
import files

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...