الدالة urllib.parse.quote()‎‎ في بايثون

من موسوعة حسوب
< Python‏ | urllib‏ | parse
مراجعة 20:19، 5 فبراير 2019 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.quote()‎‎</code> في بايثون}}</noinclude> تستبدل الدالة الحروف الخاصة في...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx.

البنية العامة

urllib.parse.quote(string, safe='/', encoding=None, errors=None)

‎المعاملات

safe

يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. يحمل هذا المعامل القيمة الافتراضية '/'.

string

يمكن أن يكون سلسلة نصية أو كائن bytes.

ملاحظة: اعتُمد المعيار RFC 3986 عوضًا عن المعيار RFC 2396 لاقتباس سلاسل URL النصية في الإصدار 3.7 من بايثون، وقد أضيف الرمز "~" إلى مجموعة المحارف المحجوزة.

encoding و errors

يحدّد هذان المعاملان طريقة تعامل الدالة مع الحروف الخارجة عن الترميز ASCII، وكما هو مقبول في التابع str.encode()‎. يأخذ المعامل encoding القيمة الافتراضية 'utf-8'، أما المعامل errors فيأخذ القيمة الافتراضية 'strict' والتي تعني أنّ الحروف غير المدعومة ستتسبب في إطلاق الاستثناء UnicodeEncodeError. يجب عدم إعطاء قيمة للمعاملين encoding و errors إن كان السلسلة النصية المعطاة من نوع bytes وإلا فإنّ الدالة ستُطلق الاستثناء TypeError.

يجدر التنبيه إلى أنّ الدالة quote(string, safe, encoding, errors)‎ مكافئة للدالة quote_from_bytes(string.encode(encoding, errors), safe)‎.

أمثلة

يبين المثال التالي طريقة عمل الدالة:

>>> import urllib.parse
>>> urllib.parse.quote('/El Niño/')
'/El%20Ni%C3%B1o/'

انظر أيضًا

مصادر