سؤال

هذا السؤال لديه بالفعل إجابة هنا:

أريد أن تدخل تغييرات التعليمات البرمجية على الفور أثناء التطوير. كيف يمكنني اكتشاف الملفات التي تم تغييرها وإعادة تحميلها في تطبيق Python (2.7) قيد التشغيل؟

يحرر:

بعد قراءة الصفحات المرتبطة بـ "Ivo van der Wijk" ، أعتقد أنه سيكون من الأفضل إعادة تشغيل تطبيق الويب عندما يتغير الكود - مثل Django. لذا فإن السؤال الفعلي هو: كيفية مراقبة تعديلات الملفات؟

هل كانت مفيدة؟

المحلول

تم طرح هذا السؤال أ رقم من مرات

يمكنك استخدام إعادة التحميل (الوحدة النمطية) لهذا ، ولكن احذر من الآثار الجانبية السيئة. على سبيل المثال ، سوف يعتمد الكود الحالي على الكود الأصلي ، ولن يتم إضافة سمات جديدة أو سمات جديدة بطريقة سحرية.

نصائح أخرى

أردت نفس التأثير لبعض البرامج النصية لـ Python ، لذلك تابعت وجعلت النص Sourcechangemonitor.py. يمكنك العثور عليه مع التعليمات هنا. إذا كنت تريد فقط البرنامج النصي ، هنا هو رابط مباشر

هذا ليس منطقيًا بالنسبة لمعظم التطبيقات لأنك ستحصل على آثار جانبية باستخدام reload. بالإضافة إلى الوقت الذي تقضيه على الكود الذي يكتشف التغييرات وإعادة تحميل جميع الوحدات التي كان يمكن إنفاقها على إعادة تشغيل التطبيق فقط. إنه معقد للغاية إذا كنت تستورد الكثير من الوحدات النمطية أو لديك مشروع يحتوي على العديد من الوحدات الفرعية.

في بعض الحالات ، إنها فكرة جيدة رغم ذلك. يوفر إطار عمل Django Web Server (manage.py runserver) التي تم إعادة تحميلها تلقائيا الوحدات النمطية. ألق نظرة على django.utils.autoreload - يختبر جميع ملفات Python للتعديلات باستخدام وقت تعديل الملفات. كما قيل من قبل ، هذه مجرد فكرة جيدة لبعض التطبيقات. تطبيقات الويب عديمة الجنسية إلى حد ما ، وبالتالي يمكن إعادة تحميلها مع القليل من الآثار الجانبية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top