Læs en fil fra disken
Omdan en lokal fil til en aktiv MCP-ressource.
Læs en fil fra disken er en gratis MCP Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i MCP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. MCP Academy-kurset indeholder 4 lektioner i alt.
Fra fast til levende
Det er fint at returnere en hardkodet streng, men rigtige servere eksponerer faktiske filer. Du kan læse en fil fra disken og levere dens indhold direkte.
Læs inde i handleren
Din ressourcefunktion åbner blot filen og returnerer dens tekst. Eftersom den kører ved hver anmodning, får klienten altid det aktuelle indhold. 📂
En grundlæggende filressource
Åbn filen, læs den, og returnér strengen. Ressourcen afspejler nu det, der er gemt på disken på læsetidspunktet.
@mcp.resource("file:///notes.txt")
def notes():
with open("notes.txt") as f:
return f.read()Brug Pathlib enkelt
Biblioteket pathlib læser små filer på én linje og håndterer stier sikkert på tværs af systemer, hvilket holder din handler kort og tydelig.
from pathlib import Path
@mcp.resource("file:///notes.txt")
def notes():
return Path("notes.txt").read_text()Håndtér manglende filer
En fil kan forsvinde eller blive omdøbt. Pak læsningen ind, så en manglende fil returnerer en tydelig fejl-besked i stedet for at få serveren til at gå ned.
try:
return Path(p).read_text()
except FileNotFoundError:
raise ValueError("File not found")Vær opmærksom på kodningen
Tekstfiler har en kodning. Læs dem eksplicit med utf-8, så tegn med accenter og ikke-engelske tegn bevares på vej til modellen.
Path("notes.txt").read_text(encoding="utf-8")Hold øje med filstørrelsen
Hvis du returnerer en enorm fil, oversvømmer du modellen med tokens, og den kan ramme grænser. Hold de leverede filer små, eller læs kun den del, modellen faktisk har brug for.
Stol aldrig på stien
Hvis en sti kommer fra input, kan en angriber anmode om filer uden for din mappe. Begræns altid læsninger til en sikker basismappe, som du selv kontrollerer.
Opløs inden for en base
Beregn en absolut sti, og kontrollér, at den forbliver inden for din tilladte rodmappe. Det blokerer sti-gennemløbsangreb som at bevæge sig opad med punktum-punktum.
base = Path("data").resolve()
target = (base / name).resolve()
if base not in target.parents: raise ValueError("Denied")Skrivebeskyttet af natur
Ressourcer læser kun; de skriver aldrig. Når du leverer en fil som en ressource, eksponerer du dens indhold uden nogensinde at lade modellen ændre filen.
Kontrollér den direkte læsning
Redigér filen på disken, og læs derefter URI'en igen. Når du ser den nye tekst, beviser det, at serveren læser direkte i stedet for at cache forældet indhold.
Hurtigt tjek
Sikkerhedstjek ved levering af filer.
Opsummering
Læs en fil inde i handleren, så indholdet forbliver aktuelt. Angiv utf-8, håndtér manglende filer, hold øje med størrelsen, og begræns stier til en sikker rodmappe. ✅
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Læs en fil fra disken” gratis?
Ja — alle 3 lektioner i læringssporet MCP Academy, inklusive “Læs en fil fra disken”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. MCP Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Læs en fil fra disken”?
Omdan en lokal fil til en aktiv MCP-ressource. Du øver dig i MCP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på MCP Academy?
Der kræves ingen tidligere erfaring. MCP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Læs en fil fra disken”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne MCP Academy-lektion?
Ja. Alle MCP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Forklaring af ressource-URI'er
- Servér en statisk tekstressource
- Læs en fil fra disken
- Indstil den rigtige MIME-type