قد تقرأ نسخة قديمة رغم تعديل الملف. [1] [2]
الخلاصة السريعة
تحتفظ linecache بأسطر مقروءة؛ إعادة getline وحدها لا تفحص التغيير. [1] [2]
المثال
import linecache as c,tempfile as t
from pathlib import Path
with t.TemporaryDirectory() as d:
p=Path(d)/'x'
p.write_text('a\n')
print(c.getline(str(p),1).strip())
p.write_text('bbb\n')
print(c.getline(str(p),1).strip())
c.checkcache(str(p))
print(c.getline(str(p),1).strip())المخرجات: a ثم a ثم bbb. [1] [2]
لماذا تتجدد القراءة؟
يفحص التنفيذ الحجم ووقت التعديل؛ اختلاف أحدهما يزيل المدخل القديم. [1] [2]
بعد الفحص تجلب القراءة التالية الأسطر الجديدة. [1] [2]

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