การจัดการไฟล์ใน Python 3

สำหรับบทความการจัดการไฟล์ใน Python นี้เราจะมาดูกันต่อในเรื่องของการอ่านไฟล์ทีละบรรทัด ซึ่งในการใช้งานในชีวิตประจำวัน เรามีโอกาสที่จะได้อ่านข้อความแบบทีละบรรทัดค่อนข้างบ่อย ดังนั้นตัวอย่างต่อมาเราจะไปดูกันที่การอ่านไฟล์ทีละบรรทัด สมมติว่าเรามีไฟล์เดิมชื่อ myfile.txt ที่มีข้อความดังนี้

Hello World!

My Name is Tom.

Nice to meet you.

เมื่อเราต้องการที่จะอ่านข้อความบรรทัดแรก เราจะใช้คำสั่งว่า readline()  (อย่าลืมเปิดไฟล์ขึ้นมาก่อน)

จะเห็นว่าคำสั่ง f.readline() จะทำให้เราได้ข้อความบรรทัดแรกออกมา ต่อมาเมื่อเราใช้คำสั่งเดิม f.readline() เราะก็จะได้บรรทัดที่สองออกมาดังนี้

สาเหตุเนื่องจากเราอ่านบรรทัดแรกไปแล้ว ระบบก็จะจำว่าเราอ่านบรรทัดแรกไปแล้ว เมื่อใช้คำสั่งเดิมอีกครั้งก็จะได้บรรทัดที่สองออกมา

ซึ่งในกรณีที่เราอาจจะมีเงื่อนไขหรือต้องการอ่านค่าทีละบรรทัด เราก็สามารถใช้คำสั่ง for loop เข้ามาช่วยได้เช่นกัน

ในบางทีกรณีเราอาจจะมีเงื่อนไขบางอย่างที่อาจจะต้องดำเนินการอ่านทีละบรรทัดแล้วมีการใช้ if statement ตัวอย่าง ผมจะอ่านไฟล์เฉพาะบรรทัดที่ขึ้นต้นด้วย H และปริ้นบรรทัดนั้นออกมาเท่านั้น (ไม่ยุ่งกับบรรทัดอื่นที่ไม่ตรงเงื่อนไข) ผมอาจจะใช้คำสั่งได้ว่า if i[0] == ‘H’: print(i) ดังรูปด้านล่าง

และสุดท้าย เมื่อเราไม่ได้ทำอะไรกับไฟล์นั้นๆอีกแล้ว เราก็ควรจะปิดไฟล์นั้นไป เพื่อไม่ให้มันกินทรัพยากรใดๆ สำหรับคำสั่งในการปิดไฟล์นั้นเราจะใช้คำสั่งว่า f.close() ก็จะถือว่าเราปิดไฟล์เรียบร้อย

Write a comment