الدالة bytes.index()
في بايثون
تؤدي هذه الدالة نفس وظيفة الدالة bytes.find()
ولكنّها تطلق الخطأ ValueError
إن لم تعثر على التسلسل الفرعي.
البنية العامة
b.find()
المعاملات
sub
التسلسل الفرعي المراد معرفة موقعه، ويمكن أن يكون أيّ كائن شبيه بالبايتات bytes-like objects أو عددًا صحيحًا من 0
إلى 255
.
start
الموقع الذي تبدأ منه الدالة عملية البحث ضمن البيانات الثنائية.
end
الموقع الذي تنهي فيه الدالة عملية البحث ضمن البيانات الثنائية.
يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing.
القيمة المعادة
تعيد الدالة أدنى قيمة للفهرس في البيانات الثنائية حيث يكون التسلسل الفرعي sub
موجودًا في الجزء المقتطع من التسلسل s[start:end]
، وتطلق الخطأ ValueError
إن لم تعثر على التسلسل الفرعي.
أمثلة
>>> mycar = b'I have a blue car'
>>> mycar.index(b'blue')
9
>>> mycar.index(b'red')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: subsection not found