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

อ่านไฟล์จากดิสก์

เปลี่ยนไฟล์ในเครื่องให้เป็นทรัพยากร MCP ที่อ่านได้แบบสด

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

จากข้อมูลตายตัวสู่ข้อมูลปัจจุบัน

การส่งคืนสตริงที่เขียนตายตัวไว้ใช้ได้ดี แต่เซิร์ฟเวอร์จริงมักเปิดเผยไฟล์จริง คุณสามารถอ่านไฟล์จากดิสก์แล้วให้บริการเนื้อหาแบบปัจจุบันได้

อ่านภายในตัวจัดการ

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

ทรัพยากรไฟล์พื้นฐาน

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

@mcp.resource("file:///notes.txt")
def notes():
    with open("notes.txt") as f:
        return f.read()

ใช้ Pathlib อย่างเป็นระเบียบ

ไลบรารี pathlib อ่านไฟล์ขนาดเล็กได้ในบรรทัดเดียว และจัดการเส้นทางอย่างปลอดภัยในระบบต่าง ๆ ทำให้ตัวจัดการสั้นและชัดเจน

from pathlib import Path

@mcp.resource("file:///notes.txt")
def notes():
    return Path("notes.txt").read_text()

จัดการไฟล์ที่หายไป

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

try:
    return Path(p).read_text()
except FileNotFoundError:
    raise ValueError("File not found")

ระวังการเข้ารหัส

ไฟล์ข้อความมีการเข้ารหัส อ่านโดยระบุ utf-8 อย่างชัดเจน เพื่อให้อักขระที่มีเครื่องหมายกำกับและอักขระที่ไม่ใช่ภาษาอังกฤษยังคงอยู่ครบเมื่อส่งถึงโมเดล

Path("notes.txt").read_text(encoding="utf-8")

ตรวจสอบขนาดไฟล์

การส่งคืนไฟล์ขนาดใหญ่จะส่งโทเค็นจำนวนมากให้โมเดลและอาจเกิน limits ทำให้ไฟล์ที่ให้บริการมีขนาดเล็ก หรืออ่านเฉพาะส่วนที่โมเดลต้องการจริง ๆ

อย่าเชื่อถือเส้นทางโดยอัตโนมัติ

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

แก้เส้นทางให้อยู่ภายในฐาน

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

base = Path("data").resolve()
target = (base / name).resolve()
if base not in target.parents: raise ValueError("Denied")

อ่านอย่างเดียวโดยธรรมชาติ

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

ตรวจสอบการอ่านข้อมูลปัจจุบัน

เปลี่ยนไฟล์บนดิสก์ แล้วอ่านยูอาร์ไออีกครั้ง การเห็นข้อความใหม่ยืนยันว่าเซิร์ฟเวอร์ของคุณอ่านข้อมูลปัจจุบันแทนการเก็บเนื้อหาเก่าไว้ในแคช

ตรวจสอบอย่างรวดเร็ว

ตรวจสอบความปลอดภัยเมื่อให้บริการไฟล์

สรุปทบทวน

อ่านไฟล์ภายในตัวจัดการ เพื่อให้เนื้อหายังคงเป็นปัจจุบัน กำหนด utf-8 จัดการไฟล์ที่หายไป ตรวจสอบขนาด และจำกัดเส้นทางไว้ในรากที่ปลอดภัย ✅

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

บทเรียน “อ่านไฟล์จากดิสก์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “อ่านไฟล์จากดิสก์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “อ่านไฟล์จากดิสก์”

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

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “อ่านไฟล์จากดิสก์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม

ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. อธิบาย URI ของทรัพยากร
  2. ให้บริการทรัพยากรข้อความแบบคงที่
  3. อ่านไฟล์จากดิสก์
  4. กำหนดชนิด MIME ให้ถูกต้อง
← กลับไปที่ MCP Academy