الخلاصة السريعة
substitute() يرفع KeyError للمفتاح المفقود؛ safe_substitute() يبقي موضعه. [1] [2]
المثال
from string import Template
s=Template('$a/$b')
d={'a':'4'}
try:
print(s.substitute(d))
except KeyError:
print('KeyError')
print(s.safe_substitute(d))
print(s.safe_substitute(d,b='9'))المخرجات: KeyError، ثم 4/$b، ثم 4/9. [1] [2]
المفقود
وجود نص ناتج لا يعني أن كل المفاتيح عُوضت؛ اقرأ الموضع الباقي. [1] [2]
الإكمال
إكمال القاموس بالمفتاح الناقص يحل الموضع نفسه؛ الاستبدال العادي ينجح أيضًا مع القيمتين. [1] [2]

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