الفرق بين المراجعتين لصفحة: «Python/linecache/lazycache»
أنشأ الصفحة ب'=التابع <code>linecache.lazycache</code>= يحصل هذا التابع على المعلومات الكافية عن وحدة غير معتمدة على الملف...' |
|||
سطر 6: | سطر 6: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
=== | |||
=== المعامل <code>filename</code> === | |||
اسم الملف المُراد وضعه بالكاش بطريقة كسولة. | اسم الملف المُراد وضعه بالكاش بطريقة كسولة. | ||
<code> | === المعامل <code>module_globals</code> === | ||
قاموس ([[Python/dict|dict]]) يحتوي على مفتاحين <code>__name__</code> و <code>__loader__</code> يُستخدمان ضمن التابع لتحميل المعلومات الأساسية للملف. | قاموس ([[Python/dict|dict]]) يحتوي على مفتاحين <code>__name__</code> و <code>__loader__</code> يُستخدمان ضمن التابع لتحميل المعلومات الأساسية للملف. | ||
==<span>القيمة المعادة</span>== | ==<span>القيمة المعادة</span>== |
المراجعة الحالية بتاريخ 09:27، 24 أغسطس 2018
التابع linecache.lazycache
يحصل هذا التابع على المعلومات الكافية عن وحدة غير معتمدة على الملف" non-file-based" بحيث تكون جاهزة لقراءة أسطرها لاحقًا باستخدام التابع getline
حتى لو كان المعامل module_globals
غير مُسند ضمن معاملات getline
، مما يسمح بتجنب عمليات الكتابة والقراءة إلى حين وجود حاجة حقيقية دون الحاجة إلى الاحتفاظ بالمعامل module_globals
ضمن الشيفرة البرمجية.
البنية العامة
linecache.lazycache(filename, module_globals)
المعاملات
المعامل filename
اسم الملف المُراد وضعه بالكاش بطريقة كسولة.
المعامل module_globals
قاموس (dict) يحتوي على مفتاحين __name__
و __loader__
يُستخدمان ضمن التابع لتحميل المعلومات الأساسية للملف.
القيمة المعادة
يعيد التابع قيمة منطقية True
إن كان الملف موجودًا سلفًا في الكاش بطريقة كسولة أو عند النجاح بفتحه بهذه الطريقة في حال عدم وجوده.
ويعيد False
إن كان الملف موجودًا في الكاش بالكامل، أو في حال الفشل بفتحه بطريقة كسولة أو حدوث مشكلة أخرى.
أمثلة
يبين المثال التالي طريقة استخدام التابع:
>>> import linecache
>>> linecache.lazycache('D:\\test.txt',globals())
True
>>> linecache.cache
{'D:\\test.txt': (functools.partial(<bound method BuiltinImporter.get_source of <class '_frozen_importlib.BuiltinImporter'>>, '__main__'),)}
>>> linecache.getline('D:\\test.txt',1)
'Hello World\n'
>>> linecache.cache
{'D:\\test.txt': (25, 1535099138.4333844, ['Hello World\n', 'How are you!\n'], 'D:\\test.txt')}
انظر أيضًا
التابع المضمن open.
التابع linecache.getline
لقراءة سطر من الملف ووضع محتوياته في الكاش.
مصادر