تقنية

nextfile في بايثون: هل تتخطى الملف قبل أول قراءة؟

لا تخطٍ قبل القراءة
مثال توضيحي [1] [2]

مثال FileInput بملفين. [1] [2]

الخلاصة السريعة

لا؛ المبكر لا يتخطى الأول. [1] [2]

  • قبل أول قراءة، nextfile لا تتخطى الملف الأول. [1] [2]
  • بعد القراءة تغلق الحالي؛ التكرار التالي يبدأ التالي. [1] [2]
  • CPython 3.12.14؛ a: bud, leaf وb: seed. [1] [2]
  • القراءة الأولى bud؛ ثم nextfile وقراءة تعطي seed. [1] [2]
  • with يغلق القراءة؛ ملفات مؤقتة، بلا stdin أو inplace. [1] [2]

قبل القراءة وبعدها

قبل أول قراءة، nextfile لا تتخطى الملف الأول. [1] [2]

بعد القراءة تغلق الحالي؛ التكرار التالي يبدأ التالي. [1] [2]

ملفان مؤلفان

CPython 3.12.14؛ a: bud, leaf وb: seed. [1] [2]

from pathlib import Path
from tempfile import TemporaryDirectory
from fileinput import FileInput
with TemporaryDirectory(dir=".") as d:
    a=Path(d)/"a";b=Path(d)/"b"
    a.write_text("bud\nleaf\n",encoding="utf-8");b.write_text("seed\n",encoding="utf-8")
    with FileInput([str(a),str(b)],encoding="utf-8") as f:
        f.nextfile()
        print(next(f).strip())
        f.nextfile()
        print(next(f).strip())

[1] [2]

النتيجة والنطاق

القراءة الأولى bud؛ ثم nextfile وقراءة تعطي seed. [1] [2]

with يغلق القراءة؛ ملفات مؤقتة، بلا stdin أو inplace. [1] [2]

تخطٍ بعد القراءة
مقارنة توضيحية [1] [2]

المراجع

  1. Python 3.12: fileinput nextfile
  2. CPython 3.12.14: FileInput
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.