سؤال

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

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

في غضون ذلك، سيكون من الجميل أن يكون نوعا من أداة من شأنها أن المشي من خلال كل دليل واستيراد كل ملف في داخلها فقط من العثور على أي البرامج النصية التي لها ImportErrors (مثل يقول إذا تمت إعادة تسمية ملف أو فئة مؤخرا) . أعتقد أن هذا لن يكون <م> رهيب الصعب الكتابة نفسي، ولكن هل هناك أي البرامج التي يتم كتابتها بالفعل للقيام بذلك؟

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

المحلول

وPychecker هو لك. وتستورد الوحدات وسوف تجد هذه الأخطاء.

http://pychecker.sourceforge.net/

وأوه، و "pylint " سيتم استيراد حدة، ولكن أعتقد أنك يجب أن يطلق عليه مرة واحدة عن كل وحدة تريد، حيث pychecker على الأقل تدعم * .py. (Pylint أيضا دعم * .py لكن لن استيراد وحدات في هذه الحالة).

نصائح أخرى

وشيء من هذا القبيل؟

import os
for x in os.listdir("some/path"):
    execfile( x )

هل هذا يكفي، أو كنت في حاجة أكثر من ذلك؟

لاحظ أن أية وحدة نمطية التي تفتقر if __name__ == "__main__": و- من الواضح - تقلع وتبدأ في فعل الاشياء

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