0Pricing
Python Academy · บทเรียน

การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์

ค้นพบวิธีจัดการข้อผิดพลาดเมื่อทำงานกับไฟล์

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

บทนำเกี่ยวกับการจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์

บทนำเกี่ยวกับการจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์

เมื่อทำงานกับไฟล์ อาจเกิดข้อผิดพลาดต่าง ๆ เช่น ไม่พบไฟล์ ปัญหาด้านสิทธิ์ หรือข้อมูลมีรูปแบบไม่ถูกต้อง Python มีกลไกสำหรับจัดการข้อผิดพลาดเหล่านี้อย่างเหมาะสมโดยใช้การจัดการข้อยกเว้น

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีจัดการข้อยกเว้นที่เกี่ยวข้องกับไฟล์ เพื่อทำให้โปรแกรมมีความทนทานมากขึ้น

การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์ — ภาพประกอบ 1

ข้อผิดพลาดที่พบบ่อยในการรับส่งข้อมูลไฟล์

ข้อผิดพลาดที่พบบ่อยในการรับส่งข้อมูลไฟล์

ตัวอย่างข้อผิดพลาดที่พบบ่อยระหว่างการดำเนินการกับไฟล์มีดังนี้:

  • 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 เพื่อจัดการข้อยกเว้นที่เกี่ยวข้องกับไฟล์
  • วิธีจัดการข้อยกเว้นหลายรายการสำหรับข้อผิดพลาดแต่ละชนิด
  • วิธียกข้อยกเว้นด้วยตนเองเพื่อตรวจสอบการดำเนินการกับไฟล์

ทำได้ดีมาก! ไปยังหัวข้อถัดไปกันเลย

การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์ — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การอ่านและเขียนไฟล์
  2. การทำงานกับไฟล์ CSV
  3. การจัดการข้อยกเว้นในการรับส่งข้อมูลไฟล์
← กลับไปที่ Python Academy