Lire et écrire des fichiers
open() : ouvrir un fichier
open() ouvre un fichier en mode texte ou binaire et renvoie un objet permettant d'y accéder. Le chemin relatif est résolu à partir du répertoire de travail courant.
| Mode | Usage |
|---|---|
r |
Lire un fichier existant ; mode par défaut. |
w |
Écrire en créant le fichier ou en effaçant son contenu existant. |
a |
Ajouter à la fin, en créant le fichier si nécessaire. |
x |
Créer un fichier ; échouer s'il existe déjà. |
b |
Utiliser le mode binaire, par exemple rb. |
t |
Utiliser le mode texte ; comportement par défaut. |
+ |
Autoriser lecture et écriture, par exemple r+. |
with open("message.txt", "w", encoding="utf-8") as file:
file.write("Bonjour Python !\n")
with open("message.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content, end="")
Le bloc with assure la fermeture du fichier, même si une exception est levée dans le bloc. En mode texte, préciser l'encodage rend le comportement explicite. En mode binaire, les lectures et écritures utilisent des octets et le paramètre encoding ne s'applique pas.
Equivalent en C#
using (var writer = new StreamWriter("message.txt", false, new UTF8Encoding(false)))
{
writer.WriteLine("Bonjour Python !");
}
using (var reader = new StreamReader("message.txt", Encoding.UTF8))
{
Console.Write(reader.ReadToEnd());
}
using assure la libération des ressources, comme with pour le fichier Python. FileStream sert aux octets ; StreamReader et StreamWriter au texte. FileMode.Create correspond à la création avec remplacement, CreateNew exige l’absence du fichier. Les fins de ligne peuvent différer selon le système.