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

السؤال

نشر

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

for i in range(5):
  import myScript # يتم تنفيذه مرة واحدة فقط
  print('imported')

 

Recommended Posts

  • 2
نشر

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

import myScript

if cond:
  import myScript
  
# سيتم إستدعاء الحزمة مرة واحدة فقط

لهذا يجب عليك إستدعاء الحزمة خارج الحلقة ، وفي داخل الحلقة يمكنك تشغيل الدالة المراد إستخدامها كالآتي

import myScript
for i in range(5):
  myScript.func()
  print('imported')

 

 

  • 0
نشر

إن كنت تعمل في بيئة تفاعلية interactive interpreter حيث تحتاج لإعادة تحميل النوذج module و بسبب تعديله يمكنك استخدام الدالة reload وتمرير اسمه لها

for i in range(5):
	reload(mySecrept)

بدل التضمين العادي.

بشكل عام نضمن الmodule مرة واحدة و نستدعي الدالة منه مثل إجابة الكدرب عبدالمجيد.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...