Läs en fil från disk
Gör en lokal fil till en levande MCP-resurs.
Läs en fil från disk är en gratis lektion i MCP Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för MCP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i MCP Academy innehåller totalt 4 lektioner.
Från fast till aktuell
Det fungerar bra att returnera en hårdkodad sträng, men riktiga servrar exponerar faktiska filer. Du kan läsa en fil från disk och tillhandahålla dess innehåll i realtid.
Läs inuti hanteraren
Resursfunktionen öppnar helt enkelt filen och returnerar texten. Eftersom den körs vid varje förfrågan får klienten alltid det aktuella innehållet. 📂
En enkel filresurs
Öppna filen, läs den och returnera strängen. Resursen återspeglar nu det som är sparat på disk när den läses.
@mcp.resource("file:///notes.txt")
def notes():
with open("notes.txt") as f:
return f.read()Använd pathlib på ett smidigt sätt
Biblioteket pathlib läser små filer på en rad och hanterar sökvägar säkert i olika system, vilket håller hanteraren kort och tydlig.
from pathlib import Path
@mcp.resource("file:///notes.txt")
def notes():
return Path("notes.txt").read_text()Hantera saknade filer
En fil kan försvinna eller byta namn. Omslut läsningen så att en saknad fil returnerar ett tydligt felmeddelande i stället för att krascha servern.
try:
return Path(p).read_text()
except FileNotFoundError:
raise ValueError("File not found")Tänk på kodningen
Textfiler har en kodning. Läs uttryckligen med utf-8 så att accenttecken och icke-engelska tecken bevaras på vägen till modellen.
Path("notes.txt").read_text(encoding="utf-8")Håll koll på filstorleken
Om du returnerar en enorm fil överöser du modellen med token och kan nå gränser. Håll filerna som serveras små, eller läs bara den del modellen verkligen behöver.
Lita aldrig på sökvägen
Om en sökväg kommer från indata kan en angripare begära filer utanför din mapp. Begränsa alltid läsningen till en säker baskatalog som du själv kontrollerar.
Lös inom en baskatalog
Beräkna en absolut sökväg och kontrollera att den stannar inom den tillåtna roten. Det blockerar sökvägsmanipulation som att klättra uppåt med punkt-punkt.
base = Path("data").resolve()
target = (base / name).resolve()
if base not in target.parents: raise ValueError("Denied")Skrivskyddad av naturen
Resurser läser bara; de skriver aldrig. Att tillhandahålla en fil som resurs exponerar dess innehåll utan att någonsin låta modellen ändra filen.
Verifiera den aktuella läsningen
Ändra filen på disk och läs sedan URI:n igen. Om den nya texten visas bevisar det att servern läser aktuellt innehåll i stället för att cachelagra gammalt innehåll.
Snabb kontroll
Säkerhetskontroll vid tillhandahållande av filer.
Sammanfattning
Läs en fil inuti hanteraren så att innehållet förblir aktuellt. Ange utf-8, hantera saknade filer, håll koll på storleken och begränsa sökvägarna till en säker rot. ✅
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Läs en fil från disk” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen MCP Academy, inklusive ”Läs en fil från disk”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i MCP Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Läs en fil från disk”?
Gör en lokal fil till en levande MCP-resurs. Ni övar på MCP Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig MCP Academy?
Du behöver inga förkunskaper. Utbildningen i MCP Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Läs en fil från disk”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här MCP Academy-lektionen?
Ja. Varje MCP Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Förklara resurs-URI:er
- Exponera en statisk textresurs
- Läs en fil från disk
- Ange rätt MIME-typ