• 0

كيف أستطيع حساب عدد الأسطر عن طريق البايثون ؟

أريد حساب عدد الأسطر في ملف ضخم (مئات الآلاف من الأسطر) عن طريق لغة البايثون فكيف أستطيع فعل ذلك ؟ هل يمكنني معرفة عدد الأسطر من دون قراءة كامل الملف ؟

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

أفضل حل بالنسبة لي هو هذا الحل:

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

فإنك لن تحصل على حل أفضل منه، وعلى أية حال لن تتمكن من معرفة عدد الأسطر في ملف ما دون قراءة كامل الملف، ومن ثم حساب عدد الأسطر عن طريق حساب عدد تكرار \n ومن ثم طباعة النتيجة كما في المثال السابق.
وكما قلت سابقا لا توجد أية طريقة لمعرفة هذه الأسطر دون قراءة كامل الملف، لأن أفضل حلول ستكون دائما مرتبطة بقراءة ذلك الملف، وأفضل ما يمكنك فعله هو التأكد أنك لا تقوم باستخدام الذاكرة بصورة غير ضرورية والتي قد حاولنا حلها في المثال السابق.

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن