ไพทอนอ่านข้อมูลจากไฟล์ ทีละบรรทัด Python File Read line
การอ่านไฟล์จากตัวอย่าง Read Text file ที่เป็นการอ่านไฟล์ทั้งไฟล์ ขึ้นมาแสดง แต่บ่อยครั้งที่เราต้องการอ่านไฟล์ ขึ้นมาทีละบรรทัดเพื่อ เอาข้อมูลแต่ละบรรทัดไปใช้งานต่อ เช่นเอาไปประมวลผล คำนวน หรือ เก็บลงในฐานข้อมูลต่อไป
ตัวอย่างการอ่านไฟล์ทีละบรรทัด file_readline.py
# แบบแรก
f = open('test_file.txt')
while True:
data = f.readline()
if not data:
break
print(data)
f.close()
print('หมดข้อมูลในไฟล์ 1')
# แบบที่สอง
f = open('test_file.txt')
for line in f:
print(line)
print('หมดข้อมูลในไฟล์ 2')
รูปแบบที่ สอง จะทำงานได้เร็วกว่า แบบแรก สามารถใช้ได้ตั้งแต่ Python 2.2 เป็นต้นมา จะคล้ายๆกับฟังก์ชั่น fgets ของ php แต่ใน Python ฟังก์ชั่นนี้จะทำงานได้เร็วกว่า
รูปแบบแรก ถ้าเปิดไฟล์ขนาด 10Mb จะได้ประมาณ 32,000 ต่อวินาที
รูปแบบสอง มากว่า 3 เท่าของแบบแรก