Lire un fichier sur le disque
Transformez un fichier local en ressource MCP dynamique.
Lire un fichier sur le disque est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.
Du contenu fixe au contenu dynamique
Renvoyer une chaîne codée en dur convient, mais les vrais serveurs exposent des fichiers réels. Vous pouvez lire un fichier sur le disque et en servir le contenu en direct.
Lire dans le gestionnaire
Votre fonction de ressource ouvre simplement le fichier et en renvoie le texte. Comme elle s’exécute à chaque demande, le client reçoit toujours le contenu actuel. 📂
Une ressource de fichier élémentaire
Ouvrez le fichier, lisez-le et renvoyez la chaîne. La ressource reflète désormais ce qui est enregistré sur le disque au moment de la lecture.
@mcp.resource("file:///notes.txt")
def notes():
with open("notes.txt") as f:
return f.read()Utiliser pathlib proprement
La bibliothèque pathlib lit les petits fichiers en une seule ligne et gère les chemins de manière sûre sur tous les systèmes, ce qui garde votre gestionnaire court et clair.
from pathlib import Path
@mcp.resource("file:///notes.txt")
def notes():
return Path("notes.txt").read_text()Gérer les fichiers manquants
Un fichier peut disparaître ou être renommé. Encadrez la lecture afin qu’un fichier manquant renvoie un message d’erreur clair au lieu de faire planter le serveur.
try:
return Path(p).read_text()
except FileNotFoundError:
raise ValueError("File not found")Faire attention à l’encodage
Les fichiers texte possèdent un encodage. Lisez-les explicitement en utf-8 afin que les caractères accentués et non anglais parviennent correctement au modèle.
Path("notes.txt").read_text(encoding="utf-8")Surveiller la taille des fichiers
Renvoyer un fichier très volumineux inonde le modèle de jetons et peut atteindre les limites. Gardez les fichiers servis de petite taille ou ne lisez que la partie réellement nécessaire au modèle.
Ne jamais faire confiance au chemin
Si un chemin provient d’une entrée, un attaquant pourrait demander des fichiers situés en dehors de votre dossier. Limitez toujours les lectures à un répertoire de base sûr que vous contrôlez.
Résoudre dans un répertoire de base
Calculez un chemin absolu et vérifiez qu’il reste à l’intérieur de la racine autorisée. Cela bloque les techniques de traversée de chemin, comme la remontée avec des points successifs.
base = Path("data").resolve()
target = (base / name).resolve()
if base not in target.parents: raise ValueError("Denied")Naturellement en lecture seule
Les ressources ne font que lire : elles n’écrivent jamais. Servir un fichier comme ressource expose son contenu sans jamais permettre au modèle de le modifier.
Vérifier la lecture en direct
Modifiez le fichier sur le disque, puis lisez à nouveau l’URI. Voir le nouveau texte prouve que votre serveur lit le contenu en direct au lieu de conserver un contenu obsolète en cache.
Vérification rapide
Vérification de sécurité lors de la mise à disposition de fichiers.
Récapitulatif
Lisez un fichier dans le gestionnaire afin que son contenu reste dynamique. Définissez utf-8, gérez les fichiers manquants, surveillez la taille et limitez les chemins à une racine sûre. ✅
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Lire un fichier sur le disque » est-elle gratuite ?
Oui — le texte complet de « Lire un fichier sur le disque » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Lire un fichier sur le disque » ?
Transformez un fichier local en ressource MCP dynamique. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MCP Academy ?
Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Lire un fichier sur le disque » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?
Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Comprendre les URI de ressources
- Fournir une ressource textuelle statique
- Lire un fichier sur le disque
- Définir le bon type MIME