نجاح الملفات المختارة لا يشمل مجلدًا لم ندخله. [1] [2]
الخلاصة السريعة
عند maxlevels=0 لا تدخل compile_dir المجلدات الفرعية؛ قد تعيد True مع خطأ فيها. [1] [2]
المثال
import compileall as c
import tempfile as t
from pathlib import Path
run=c.compile_dir
with t.TemporaryDirectory() as d:
r=Path(d)
s=r/'sub';s.mkdir()
(r/'a.py').write_text('x=7')
(s/'b.py').write_text('raise (')
print(run(d,maxlevels=0,quiet=2))
print(run(d,maxlevels=1,quiet=2))المخرجان True ثم False في 3.12.14. [1] [2]
لماذا تغيرت النتيجة؟
عند العمق صفر تُختار ملفات الجذر؛ الزيادة تسمح بدخول sub وكشف خطأ الصياغة. [1] [2]

ينقص التنفيذ العمق عند كل دخول، ويجمع نتائج الملفات المختارة. [1] [2]
حد الحكم
تجربتنا لمجلدات عادية مؤقتة؛ ليست فحصًا شاملًا لتشغيل المشروع. [1] [2]
المراجع
- Python: compileall
- CPython 3.12.14: compileall.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
