« Python : Ecrire dans un fichier » : différence entre les versions

De www.yakakliker.org
(Page créée avec « En Python, la manipulation de fichiers est très directe. Nous allons utiliser l'instruction '''<code>with open()</code>''', qui est la méthode standard et sécurisée pour ouvrir, écrire, puis refermer automatiquement un fichier. === Exemples === <syntaxhighlight lang="python3"> invites = ["Alice", "Bob", "Charlie"] # 'w' signifie 'write' (écriture). Attention : cela écrase le fichier existant. # 'a' signifie 'append' (ajouter). Cela ajoute à la fin du... »)
 
Aucun résumé des modifications
 
Ligne 36 : Ligne 36 :
** <code>a</code> (append) : Les nouvelles données sont ajoutées à la suite de ce qui existe déjà.
** <code>a</code> (append) : Les nouvelles données sont ajoutées à la suite de ce qui existe déjà.


=== Autre exemple ===


* On combine Fonctions, Ecriture dans un fichier, Test en cas d'erreur et boucle
<syntaxhighlight lang="python3">
def ajouter_invite(liste_invites):
    """Fonction pour ajouter un nom à la liste avec vérification."""
    nom = input("Entrez un nom (ou 'stop') : ").strip()


    if nom.lower() == "stop":
        return False  # On indique qu'il faut arrêter


    if nom == "" or nom.isdigit():
        # On simule une petite gestion d'erreur logique
        print("Erreur : Le nom ne peut pas être vide ou un simple nombre.")
    else:
        liste_invites.append(nom)
        print(f"Succès : {nom} ajouté.")


    return True


def sauvegarder_liste(liste, nom_fichier):
    """Enregistre chaque élément de la liste dans un fichier texte."""
    try:
        with open(nom_fichier, "w", encoding="utf-8") as f:
            for item in liste:
                f.write(item + "\n")
        print(f"Sauvegarde réussie dans {nom_fichier}")
    except Exception as e:
        print(f"Erreur lors de la sauvegarde : {e}")




# --- Programme principal ---
invites = []
en_cours = True


print("--- Gestionnaire d'invités Sécurisé ---")
while en_cours:
    try:
        en_cours = ajouter_invite(invites)
    except Exception as e:
        print(f"Une erreur inattendue est survenue : {e}")
print(f"\nListe finale ({len(invites)} personnes) : {invites}")
# Appel de la fonction de sauvegarde
sauvegarder_liste(invites, "mes_invites.txt")
</syntaxhighlight>
[[Catégorie:Python]]
[[Catégorie:Python]]
[[Catégorie:Scripts]]
[[Catégorie:Scripts]]

Dernière version du 21 janvier 2026 à 11:54

En Python, la manipulation de fichiers est très directe.

Nous allons utiliser l'instruction with open(), qui est la méthode standard et sécurisée pour ouvrir, écrire, puis refermer automatiquement un fichier.

Exemples

invites = ["Alice", "Bob", "Charlie"]

# 'w' signifie 'write' (écriture). Attention : cela écrase le fichier existant.
# 'a' signifie 'append' (ajouter). Cela ajoute à la fin du fichier.
with open("invites.txt", "w", encoding="utf-8") as fichier:
    for nom in invites:
        fichier.write(nom + "\n")  # \n permet de passer à la ligne suivante
def sauvegarder_liste(liste, nom_fichier):
    """Enregistre chaque élément de la liste dans un fichier texte."""
    try:
        with open(nom_fichier, "w", encoding="utf-8") as f:
            for item in liste:
                f.write(item + "\n")
        print(f"Sauvegarde réussie dans {nom_fichier}")
    except Exception as e:
        print(f"Erreur lors de la sauvegarde : {e}")

# --- Simulation du programme ---
mes_invites = ["Alice", "Marc", "Sophie"]

# Appel de la fonction de sauvegarde
sauvegarder_liste(mes_invites, "mes_invites.txt")
  • Le gestionnaire de contexte (with) : C'est une bonne pratique absolue. Si le programme plante pendant l'écriture, le fichier sera quand même correctement refermé par Python.
  • L'encodage (utf-8) : Il est fortement recommandé de le préciser pour gérer correctement les accents français (é, à, ç), sinon ils risquent de mal s'afficher sur certains systèmes.
  • Le mode "a" vs "w" :
    • w (write) : Si le fichier existe déjà, il est vidé et remplacé par les nouvelles données.
    • a (append) : Les nouvelles données sont ajoutées à la suite de ce qui existe déjà.

Autre exemple

  • On combine Fonctions, Ecriture dans un fichier, Test en cas d'erreur et boucle
def ajouter_invite(liste_invites):
    """Fonction pour ajouter un nom à la liste avec vérification."""
    nom = input("Entrez un nom (ou 'stop') : ").strip()

    if nom.lower() == "stop":
        return False  # On indique qu'il faut arrêter

    if nom == "" or nom.isdigit():
        # On simule une petite gestion d'erreur logique
        print("Erreur : Le nom ne peut pas être vide ou un simple nombre.")
    else:
        liste_invites.append(nom)
        print(f"Succès : {nom} ajouté.")

    return True

def sauvegarder_liste(liste, nom_fichier):
    """Enregistre chaque élément de la liste dans un fichier texte."""
    try:
        with open(nom_fichier, "w", encoding="utf-8") as f:
            for item in liste:
                f.write(item + "\n")
        print(f"Sauvegarde réussie dans {nom_fichier}")
    except Exception as e:
        print(f"Erreur lors de la sauvegarde : {e}")


# --- Programme principal ---
invites = []
en_cours = True

print("--- Gestionnaire d'invités Sécurisé ---")

while en_cours:
    try:
        en_cours = ajouter_invite(invites)
    except Exception as e:
        print(f"Une erreur inattendue est survenue : {e}")

print(f"\nListe finale ({len(invites)} personnes) : {invites}")

# Appel de la fonction de sauvegarde
sauvegarder_liste(invites, "mes_invites.txt")