# -*- encoding:utf8 -*-

# Simple éditeur de texte

# Fonctions nécessaires:

def ecrireDansFichier(filename):
    """
    ecrireDansFichier(str filename) --> None.
    Demande à l'utilisateur d'entrer des lignes de texte et les enregistre
    successivement dans le fichier filename.
    
    """
    of = open(filename, 'a', encoding = 'utf-8')

    ligne = input("Entrez une ligne de texte (ou <Enter> pour terminer): ")    
    
    while ligne != "":
        of.write(ligne + '\n')
        ligne = input("Entrez une ligne de texte (ou <Enter> pour terminer): ")

    of.close()

def lireDansFichier(filename):
    """
    lireDansFichier(str filename) --> None.
    Affiche chacune des lignes du fichier texte filename.

    """
    flag = 1    # interrupteur (1 => nom de fichier incorrect, 0 => nom de fichier correct)

    while flag:
        
    # si fichier existe
        try:
            of = open(filename, 'r', encoding='utf-8')

    # si fichier n'existe pas
        except:
            filename = input("Le fichier " + filename + " n'existe pas... Donnez un nom de fichier valide: ")

        else:
            flag = 0    # si le fichier existe, tourner l'interrupteur afin d'arrêter la boucle

        
    while 1:
        ligne = of.readline()
        if ligne == "":
            break
        # afficher la ligne en omettant le caractère de fin de ligne
        print(ligne[:len(ligne)-1])

    of.close()


# Corps principal du programme:

nomF = input("Nom du fichier à traiter: ")
choix = input("Que voulez-vous faire ? (E)crire ou (C)onsulter les données ?: ")

if choix.upper() == 'E':
    ecrireDansFichier(nomF)
else:
    lireDansFichier(nomF)
