المبرمج العربي نشر 16 يناير 2016 أرسل تقرير مشاركة نشر 16 يناير 2016 أحتاج إلى قراءة ملف معين صياغته تتطلب مني قراءة كل سطرين معا، فهل هنالك طريقة في لغة بايثون تمكنني من فعل ذلك؟ لأنني جربت طرق عديدة وفشلت جميعها.من الطرق التي جربتُها:f = open(filename, "r") for line in f: line1 = line line2 = f.readline() f.close اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 هشام رزق الله نشر 16 يناير 2016 أرسل تقرير مشاركة نشر 16 يناير 2016 يوجد العديد من الطرق لفعل ذلك في بايثون، لكن الخطأ في المثال الذي وضعته هو أنه لا يمكنك الخلط بين عملية التكرار وreadline، بل يجب استخدام كل واحدة منهما بطريقة منفصلة واستبدال for بحلقة تكرار while كما في هذا المثال:while True: line1 = f.readline() line2 = f.readline() if not line2: break # EOF ... أو يمكنك استخدام دوال مكتبة itertools مع حلقة تكرار for كما في المثال التالي:import itertools with open('a') as f: for line1,line2 in itertools.izip_longest(*[f]*2): print(line1,line2) إذا كان هنالك عدد فردي من الأسطر في الملف فستحصل في السطر الثاني على None في الدورة الأخيرة لعملية التكرار. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
المبرمج العربي
أحتاج إلى قراءة ملف معين صياغته تتطلب مني قراءة كل سطرين معا، فهل هنالك طريقة في لغة بايثون تمكنني من فعل ذلك؟ لأنني جربت طرق عديدة وفشلت جميعها.
من الطرق التي جربتُها:
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.