บทที่ 6: การจัดการไฟล์ใน Python
1. การอ่านและเขียนไฟล์ใน Python
ไฟล์เป็นสิ่งที่ช่วยให้เราสามารถบันทึกข้อมูลและนำกลับมาใช้ใหม่ได้ Python มีฟังก์ชันสำหรับจัดการไฟล์ได้ง่ายๆ
ตัวอย่างการเขียนไฟล์
# เปิดไฟล์เพื่อเขียนข้อมูล
with open("example.txt", "w") as file:
file.write("สวัสดี Python!")
graph TD; A(เริ่มต้น) --> B(เปิดไฟล์ example.txt); B --> C(เขียนข้อมูลลงไฟล์); C --> D(ปิดไฟล์); D --> E(จบ);
ตัวอย่างการอ่านไฟล์
# เปิดไฟล์เพื่ออ่านข้อมูล
with open("example.txt", "r") as file:
content = file.read()
print(content)
graph TD; A(เริ่มต้น) --> B(เปิดไฟล์ example.txt); B --> C(อ่านข้อมูลจากไฟล์); C --> D(แสดงข้อมูล); D --> E(จบ);
2. การอ่านข้อมูลจากไฟล์ CSV และนำมาประมวลผล
ตัวอย่างการอ่าน CSV
ตัวอย่างไฟล์ students.csv
import csv
with open("students.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
graph TD; A(เริ่มต้น) --> B(เปิดไฟล์ students.csv); B --> C(อ่านข้อมูลแต่ละแถว); C --> D(แสดงข้อมูล); D --> E(จบ);
3. การจัดการข้อผิดพลาดในการทำงานกับไฟล์
ตัวอย่างการจัดการข้อผิดพลาด
try:
with open("missing_file.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("ไม่พบไฟล์ที่ระบุ")
graph TD; A(เริ่มต้น) --> B(พยายามเปิดไฟล์ missing_file.txt); B -->|พบข้อผิดพลาด| C(แจ้งเตือน); C --> D(จบ);
4. เขียนโปรแกรมที่บันทึกข้อมูลลงในไฟล์
ตัวอย่างการบันทึกข้อมูล
with open("log.txt", "a") as file:
file.write("บันทึกข้อมูลใหม่\n")
graph TD; A(เริ่มต้น) --> B(เปิดไฟล์ log.txt แบบ append); B --> C(เขียนข้อมูลใหม่); C --> D(ปิดไฟล์); D --> E(จบ);
โจทย์ท้ายบท
- เขียนโปรแกรมที่อ่านไฟล์ data.txt แล้วแสดงเนื้อหาในไฟล์
- เขียนโปรแกรมที่สร้างไฟล์
output.txt
และเขียนข้อความ "Hello, Python!" ลงไป - เขียนโปรแกรมที่อ่านไฟล์ CSV students.csv และแสดงเฉพาะชื่อของนักเรียน
- เขียนโปรแกรมที่บันทึกบันทึกคะแนนนักเรียนลงในไฟล์
scores.txt
- เขียนโปรแกรมที่ตรวจสอบว่าไฟล์
config.txt
มีอยู่หรือไม่ และแจ้งเตือนหากไม่พบ