fileno() ينقل SpooledTemporaryFile إلى ملف على القرص. [1] [2]
الخلاصة السريعة
صغر المحتوى لا يمنع النقل عند طلب واصف الملف. [1] [2]
- abc ثلاثة بايتات؛ مع حد 1024 بايتًا تغير _rolled من False إلى True بعد fileno(). [1] [2]
- دون الطلب، كتابة 1024 بايتًا لا تنقل، و1025 تنقل. [1] [2]
- المحتوى بعد النقل b'abc'؛ أغلقه سياق with. [1] [2]
- _rolled مؤشر داخلي في اختبار 3.12.14، لا واجهة عامة ثابتة. [2]
- وثائق 3.15 تصف النقل؛ لا نعد بعزل الذاكرة أو سرعة محددة. [1] [2]
المثال
import tempfile as t with t.SpooledTemporaryFile( max_size=1024) as f: f.write(b'abc') print(f._rolled) f.fileno() print(f._rolled) f.seek(0) print(f.read())
الناتج: False ثم True ثم b'abc'. [1] [2]
الحد والطلب
دون طلب واصف، تجاوز الحد ينقل المحتوى؛ المساواة وحدها لا تكفي في كتابة مثالنا. fileno() سبب مستقل للنقل. [1] [2]

حد المراقبة
نستخدم المؤشر الداخلي للتوضيح في الإصدار المختبر فقط. رجعنا للبداية لقراءة البايتات؛ إغلاق السياق أنهى الملف. [1] [2]
النقل لا يثبت محو الذاكرة ولا يقيس الأداء. [1] [2]
المراجع
- Python: tempfile
- CPython 3.12.14: tempfile.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
