IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

importer fichiers texte dans une liste


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut importer fichiers texte dans une liste
    Bonjour,
    Je souhaite sauvegarder les meilleurs scores sur le jeu du demineur. Le problème et que j'arrive à sauvegarder les score mais pas à les trier ni à faire inscrire le nom. Je sais qu'il faudrait que j'importe mon fichier sauvegarde dans une liste pour pouvoir le trier et le modifié facilement.
    Comment faire cela?

    Merci...

  2. #2
    Membre confirmé
    Avatar de Zorro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Par défaut
    Un exemple de code?
    la partie de que tu utilise pour enregistrer ton fichier

    Z

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    c'est basic, on mets juste le score dans un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def print_sauvegarde():
        f=file('sauvegarde.txt','a+')
        f.write("%s" % root[14]['text'])
        f.write("\n")
    root[14] represente le chrono, quand on gagne on mets le temps dans le fichier

  4. #4
    Membre confirmé
    Avatar de Zorro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def filetolist(myfile):
    	lst = []
    	for score in file(myfile):
    		lst.append(score[:-1])
            return lst
    >>>scores = filetolist('scores.txt')
    >>>print scores
    >>> ['125','200','10']
    Cette fonction renvoi un liste des toutes les valeurs du fichier

    Z

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    le truc c'est que j'aimeré que une fois fini, il me permette de rentré mon nom si je suis dans les 10 meilleurs et qu'apres le fichier s'affiche, c'est possible tout sa?

  6. #6
    Membre confirmé
    Avatar de Zorro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Par défaut
    Oui

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    des idées zorro? parce que sa fait 3 jour qu'on essaie mais c'est au point mort à ce niveau là....

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Voici un exemple, mais il y a surement mieux:

    Tu peux présenter ton fichier text comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Clovis|30
    dudule|15
    gaston|10
    zoulou|8
    ...
    et ensuite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    import operator
     
    #recupere et parse le fichier txt
    def get_list():
        lst = []
        for score in file("sauvegarde.txt"):
            #recupere les noms et les scores dans une liste
            lst.append(score[:-1].split('|'))
     
        #transforme le score en int
        lst = [(nom, int(chiffre)) for nom, chiffre in lst]  
        #trie la liste
        lst = sorted(lst, key=operator.itemgetter(1), reverse=True)
        return lst
     
    #ecriture du fichier  
    def write_score(list_score):
        f=file("sauvegarde.txt",'w')
        for score in list_score:
            f.write("%s|%i" %score)
            f.write("\n")
        f.close()
     
    #ajoute un nouveau score
    def add_score(nom, score):
        list_score = get_list()
        #si il n'y a pas 10 score
        if len(list_score) < 10:
            list_score.append((nom, score))
            write_score(list_score)
        #si il le nouveau score est superieur au score le plus bas
        elif score > list_score[-1][1]:
            del list_score[-1]
            list_score.append((nom, score))
            write_score(list_score)
     
    add_score('gargamel', 8)
    de cette façon tu stoques uniquement les 10 meilleurs scores avec le nom et le score.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. stocker un fichier texte dans une liste
    Par dougie dans le forum C
    Réponses: 6
    Dernier message: 11/01/2011, 13h58
  2. Importation fichier texte dans une boucle
    Par asphodele dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/04/2010, 11h41
  3. Charger fichier texte dans une liste ?
    Par bahamut100 dans le forum C
    Réponses: 3
    Dernier message: 08/12/2009, 14h34
  4. [AC-2003] import fichier texte dans une table
    Par souketou dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/05/2009, 09h49
  5. Importer fichier texte dans une feuille
    Par malouxa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2008, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo