การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์
ค้นพบวิธีจัดการข้อผิดพลาดเมื่อทำงานกับไฟล์
การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำเกี่ยวกับการจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์
บทนำเกี่ยวกับการจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์
เมื่อทำงานกับไฟล์ อาจเกิดข้อผิดพลาดต่าง ๆ เช่น ไม่พบไฟล์ ปัญหาด้านสิทธิ์ หรือข้อมูลมีรูปแบบไม่ถูกต้อง Python มีกลไกสำหรับจัดการข้อผิดพลาดเหล่านี้อย่างเหมาะสมโดยใช้การจัดการข้อยกเว้น
ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีจัดการข้อยกเว้นที่เกี่ยวข้องกับไฟล์ เพื่อทำให้โปรแกรมมีความทนทานมากขึ้น

ข้อผิดพลาดที่พบบ่อยในการรับส่งข้อมูลไฟล์
ข้อผิดพลาดที่พบบ่อยในการรับส่งข้อมูลไฟล์
ตัวอย่างข้อผิดพลาดที่พบบ่อยระหว่างการดำเนินการกับไฟล์มีดังนี้:
FileNotFoundError: ไม่มีไฟล์ดังกล่าวPermissionError: คุณไม่มีสิทธิ์เข้าถึงไฟล์IsADirectoryError: เส้นทางดังกล่าวเป็นไดเรกทอรี ไม่ใช่ไฟล์
การใช้ try และ except กับการรับส่งข้อมูลไฟล์
การใช้ try และ except กับการรับส่งข้อมูลไฟล์
ครอบการดำเนินการกับไฟล์ไว้ในบล็อก try เพื่อดักจับและจัดการข้อยกเว้น:
# Handling file not found error
try:
with open("nonexistent_file.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("The file does not exist.")การจัดการข้อยกเว้นหลายรายการ
การจัดการข้อยกเว้นหลายรายการ
คุณสามารถจัดการข้อยกเว้นหลายรายการได้โดยระบุบล็อก except หลายบล็อก:
# Handling multiple exceptions
try:
with open("example.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("The file does not exist.")
except PermissionError:
print("You don’t have permission to access this file.")การใช้ finally เพื่อเก็บกวาดทรัพยากร
การใช้ finally เพื่อเก็บกวาดทรัพยากร
บล็อก finally จะทำงานเสมอ ไม่ว่าจะเกิดข้อยกเว้นหรือไม่ก็ตาม บล็อกนี้เหมาะสำหรับการดำเนินการเก็บกวาดทรัพยากร เช่น การปิดไฟล์:
# Using finally for cleanup
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("The file does not exist.")
finally:
print("Closing the file.")
file.close() # Ensures the file is closedการใช้ with เพื่อเก็บกวาดทรัพยากรโดยอัตโนมัติ
การใช้ with เพื่อเก็บกวาดทรัพยากรโดยอัตโนมัติ
คำสั่ง with จะจัดการเก็บกวาดทรัพยากรโดยอัตโนมัติ จึงลดความจำเป็นในการใช้บล็อก finally อย่างชัดเจน:
# Using with to handle automatic cleanup
try:
with open("example.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("The file does not exist.")การยกข้อยกเว้นด้วยตนเอง
การยกข้อยกเว้นด้วยตนเอง
คุณสามารถยกข้อยกเว้นด้วยตนเองโดยใช้คีย์เวิร์ด raise ซึ่งมีประโยชน์สำหรับตรวจสอบความถูกต้องของการดำเนินการกับไฟล์:
# Raising an exception manually
file_path = "example.txt"
if not file_path.endswith(".txt"):
raise ValueError("Only .txt files are supported.")
try:
with open(file_path, "r") as file:
content = file.read()
except FileNotFoundError:
print("The file does not exist.")การจัดการข้อผิดพลาดในการเขียนไฟล์
การจัดการข้อผิดพลาดในการเขียนไฟล์
เมื่อเขียนลงไฟล์ อาจเกิดข้อยกเว้น เช่น PermissionError ได้ ควรตรวจสอบให้แน่ใจว่ามีการจัดการข้อผิดพลาดอย่างเหมาะสมเสมอ:
# Handling write errors
try:
with open("output.txt", "w") as file:
file.write("Hello, World!")
except PermissionError:
print("You don’t have permission to write to this file.")ข้อผิดพลาดที่พบบ่อยในการจัดการข้อยกเว้นของการรับส่งข้อมูลไฟล์
ข้อผิดพลาดที่พบบ่อยในการจัดการข้อยกเว้นของการรับส่งข้อมูลไฟล์
ต่อไปนี้คือข้อผิดพลาดบางประการที่ควรหลีกเลี่ยง:
- ไม่ดักจับข้อยกเว้นที่เฉพาะเจาะจง (เช่น ใช้บล็อก
exceptทั่วไป) - ลืมปิดไฟล์เมื่อไม่ได้ใช้
with - ไม่บันทึกข้อความข้อยกเว้นไว้เพื่อการแก้ไขข้อบกพร่อง
เราได้เรียนรู้อะไรบ้าง
เราได้เรียนรู้อะไรบ้าง
ในบทเรียนนี้ คุณได้เรียนรู้:
- วิธีใช้บล็อก
try,exceptและfinallyเพื่อจัดการข้อยกเว้นที่เกี่ยวข้องกับไฟล์ - วิธีจัดการข้อยกเว้นหลายรายการสำหรับข้อผิดพลาดแต่ละชนิด
- วิธียกข้อยกเว้นด้วยตนเองเพื่อตรวจสอบการดำเนินการกับไฟล์
ทำได้ดีมาก! ไปยังหัวข้อถัดไปกันเลย

คำถามที่พบบ่อย
บทเรียน “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์”
ค้นพบวิธีจัดการข้อผิดพลาดเมื่อทำงานกับไฟล์ คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอ่านและเขียนไฟล์
- การทำงานกับไฟล์ CSV
- การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์