نعدل قائمة الأسطر، لا نص الملف. [1] [2]
الخلاصة السريعة
المثال
import linecache as l
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory() as d:
p=Path(d)/'OWN.py'
p.write_text(
'bud\n',encoding='utf8')
k=str(p)
rows=l.getlines(k)
rows[0]='twig\n'
print(repr(l.getline(k,1)))
print(repr(p.read_text(
encoding='utf8')))
l.checkcache(k)ما الذي تغير؟
المصدر هنا يعيد قائمة الأسطر المحفوظة دون نسخها. تعديل عنصرها يؤثر في القراءة المخزنة، لكنه لا يكتب الملف. تظهر نهاية السطر عبر repr. يحذف السياق ملفنا المؤقت، ثم يفحص checkcache مدخله. [1] [2]

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