الفرق بين المراجعتين لصفحة: «Python/urllib/parse/parse qs»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 12: | سطر 12: | ||
=== <code>keep_blank_values</code> === | === <code>keep_blank_values</code> === | ||
راية تحدد إذا ما كان المطلوب معاملة القيم الفارغة في سلاسل الاستعلام المرمّزة بالنسبة المئوية percent-encoded queries على أنّها سلاسل نصية فارغة. تشير القيمة الصحيحة لهذا المعامل إلى أنّ الفراغات ستبقى سلاسل نصية فارغة، أما القيمة الخاطئة (وهي القيمة الافتراضية) فتشير إلى أن القيم الفارغة ستُتجاهل من قبل الدالة وتُعامل كما لو أنّها غير موجودة. | راية تحدد إذا ما كان المطلوب معاملة القيم الفارغة في سلاسل الاستعلام المرمّزة بالنسبة المئوية percent-encoded queries على أنّها [[Python/BZ2Decompressor|سلاسل نصية]] فارغة. تشير القيمة الصحيحة لهذا المعامل إلى أنّ الفراغات ستبقى [[Python/BZ2Decompressor|سلاسل نصية]] فارغة، أما القيمة الخاطئة (وهي القيمة الافتراضية) فتشير إلى أن القيم الفارغة ستُتجاهل من قبل الدالة وتُعامل كما لو أنّها غير موجودة. | ||
=== <code>strict_parsing</code> === | === <code>strict_parsing</code> === |
مراجعة 18:32، 5 فبراير 2019
تحلل الدالة سلسلة الاستعلام المعطاة كسلسلة من المعاملات (بيانات من نوع application/x-www-form-urlencoded
). تعاد البيانات على هيئة قاموس، تكون مفاتيحه أسماء متغيرات الاستعلام وقيمه قوائم تضمّ قيم كل اسم من أسماء المتغيرات.
البنية العامة
urllib.parse.parse_qs(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None)
المعاملات
keep_blank_values
راية تحدد إذا ما كان المطلوب معاملة القيم الفارغة في سلاسل الاستعلام المرمّزة بالنسبة المئوية percent-encoded queries على أنّها سلاسل نصية فارغة. تشير القيمة الصحيحة لهذا المعامل إلى أنّ الفراغات ستبقى سلاسل نصية فارغة، أما القيمة الخاطئة (وهي القيمة الافتراضية) فتشير إلى أن القيم الفارغة ستُتجاهل من قبل الدالة وتُعامل كما لو أنّها غير موجودة.
strict_parsing
معامل اختياري وهو عبارة عن راية تحدّد طريقة التعامل مع أخطاء التحليل. إن كانت قيمة هذا المعامل خاطئة (وهي القيمة الافتراضية) فإنّ الدالة ستتجاهل الأخطاء دون الإشارة إليها، أما إن كانت قيمة هذا المعامل صحيحة فإنّها ستطلق الاستثناء ValueError
.
encoding
, errors
يحدّد هذان المعاملان طريقة فكّ ترميز التسلسلات المرمّزة بعلامة النسبة المئوية إلى محارف Unicode، وبالطريقة المتّبعة في التابع bytes.decode()
.
max_num_fields
معامل اختياري، يحدّد أقصى عدد يمكن للدالة أن تقرأه. في حال تعيين قيمة لهذا المعامل، تُطلق الدالة الاستثناء ValueError
إن تجاوز عدد الحقول المقروءة القيمة المحدد.
استخدم الدالة urllib.parse.urlencode()
(مع تعيين القيمة True
للمعامل doseq
) لتحويل مثل هذه القواميس إلى سلاسل استعلام نصية.
ملاحظات:
- أضيف المعاملان
encoding
وerrors
في الإصدار 3.2 من بايثون. - أضيف المعامل
max_num_fields
في الإصدار 3.7.2 من بايثون.
أمثلة
يبين المثال التالي طريقة عمل الدالة:
>>> from urllib.parse import parse_qs
>>> encoded = 'foo=foo1&foo=foo2'
>>> print('parse_qs:', parse_qs(encoded))
parse_qs: {'foo': ['foo1', 'foo2']}
انظر أيضًا
- الدالة
urllib.parse.urlparse()
: تحلّل الدالة عنوان URL إلى ستّة مكونات تمثّل البنية الرئيسية لعنوان URL. - الدالة
urllib.parse.parse_qsl()
: تحلل الدالة سلسلة الاستعلام النصية المعطاة كسلسلة معاملات نصية string argument.