file.seek() تحريك موضع الملف
آخر تحديث: 2026-09-22
file.seek() تحريك موضع الملف
file.seek(offset, whence=0) يحرك موضع القراءة والكتابة في الملف؛ القيمة 0 لـ whence تعني من البداية، و1 من الموضع الحالي، و2 من النهاية.
| التصنيف | دوال الملفات |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | all |
📝 الصياغة
file.seek()
⚙️ المعاملات
| offset مطلوب | Offset relative to whence; may be negative. |
|---|---|
| whence اختياري | Reference: 0=start, 1=current position, 2=end.(القيمة الافتراضية:0) |
القيمة المُعادة:int. The new file position.
يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)
💥 الاستثناءات
OSError— Raised when the file is not seekable or the operation fails.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
34
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qكيف يُفهَم وسيط whence في seek()؟
A0 يعني نسبةً إلى بداية الملف، و 1 نسبةً إلى الموضع الحالي، و 2 نسبةً إلى نهاية الملف. قد تكون الإزاحة (offset) سالبة (عند الحركة للخلف نسبةً إلى المرجع).
Qما القيود الموجودة في وضع النص؟
Aفي وضع النص لا يمكن تحديد الموضع إلا من البداية (whence=0)، وعادةً لا يمكن استخدام للإزاحة إلا القيمة التي تُرجعها tell()؛ فالتزحزح غير الصفري من الموضع الحالي أو من النهاية يُطلق OSError. الوضع الثنائي فقط يدعم whence=1/2.
Qكيف يُعرَف الموضع بعد seek()؟
Aتُرجع seek() الموضع الجديد بعد التحرك، ويمكنك أيضًا الاستعلام عنه في أي وقت باستخدام tell().
Qكيف تُكتب العودة إلى البداية لإعادة القراءة؟
Af.seek(0).