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

Tkinter Python Discussion :

Lecture ligne par ligne


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Par défaut Lecture ligne par ligne
    Salut,

    J' ai des petits soucis pour utiliser Tkinter.
    J' ai mon code qui me permet de lire un fichier ligne par ligne. A chaque fois que j'appuie sur "Entree", la ligne suivante de mon fichier apparait.

    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
    # -*- coding:Utf-8 -*-
    from Tkinter import *
    import csv
     
    # Listing
    f = csv.reader(open("Temp.csv","r"))
    l = list(f)
     
    # Affichage
    f = csv.reader(open("Temp.csv","r"))
    count=0
    for line in f:
    	print l[count]
    	r=raw_input()
    	count = count+1
    J' ai donc essayé de créer une interface mais là ça ne marche pas très bien...

    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
    # -*- coding:Utf-8 -*-
    from Tkinter import *
    import csv
     
    def affiche():
    	lb1=Label(fenetre,text="rd")
    	print l[count]
     
    fenetre = Tk()
     
    # Listing
    f = csv.reader(open("Temp.csv","r"))
    l = list(f)
     
    # Affichage 
    f = csv.reader(open("Temp.csv","r"))
    count=0
    for line in f:
    	b=l[count][3].decode('utf-8') # Trouve le mot à la ligne 'count'
    	lb1=Label(fenetre,text=b) # Affiche le mot
    	lb1.pack()
    	bou1 = Button(fenetre, text='Ok',command=affiche)
    	bou1.pack()	
    	r=raw_input()
    	count = count+1
     
    fenetre.mainloop()
    Comment faire pour que lorsque je clique sur 'Ok' ou que j'appuies sur 'Entree', lb1 affiche la ligne suivante de mon fichier ?

  2. #2
    Membre éclairé Avatar de duplo
    Inscrit en
    Octobre 2004
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2004
    Messages : 294
    Par défaut
    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
    # -*- coding: cp1252 -*-
    from Tkinter import *
     
    pointeur = 0                    #defiition d'un pointeur vers la ligne 0 ( premiere ) du fichier
    fic = open('fic.txt', 'r')      #ouverture du fichier
    donnee = fic.readlines()        #creation d'un tableau avec une lige du fichier par case
     
    def affiche():
        global pointeur, text, donnee, bout_ls
        text.insert(END, donnee[pointeur])              #insertion de la ligne pointée par pointeur dans la zone de texte
        text.yview(END)                                 #mise du curseur a la fin du texte
        pointeur += 1                                   #on incremente le pointeur pour passer a la ligne suivante
        if pointeur > len(donnee)-1 :                   #si on pointe vers une ligne qui n'existe pas, on indique la fin de la lecture et suprime le bouton affiche ligne
            text.insert(END, '\n\n Fin du fichier !')
            bout_ls.destroy()
     
     
     
    def quitter():
        global fic, f
        fic.close()     #on ferme le fichier
        f.destroy()     #on detruit la fenetre
     
     
    f = Tk()                         #creation de la fenetre
    f.geometry("300x350")            #dimention de la fenetre
    text = Text(f, width=36, height=40, bg='white',  relief=RIDGE, wrap=NONE)   #ceation d'une zone de texte
    text.pack(side=LEFT)        #on ancre la zone de texte dans la fenetre
     
    bout_ls = Button(f, text='ligne suivante', command=affiche) #creation d'un bouton ligne suivante
    bout_ls.pack()  #on l'ancre dans la fenetre
    Button(f, text='Quitter', command=quitter).pack() # creation d'un bouton quitter
     
     
    f.mainloop()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut et comme ca
    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
     
    from Tkinter import *
    import csv
    count=0
    def affiche():
        global count
     
     
        b=l[count][0].decode('utf-8') # Trouve le mot à la ligne 'count'
        lb1=Label(fenetre,text=b) # Affiche le mot
        lb1.pack()
        print l[count]
        count+=1
    fenetre = Tk()
    bou1 = Button(fenetre, text='Ok',command=affiche)
    bou1.pack()
    fp=open("Temp.csv","r") 
    # Listing
    f = csv.reader(fp)
    print f
    l = list(f)
     
    print l 
    # Affichage 
    f = csv.reader(fp)
     
     
    fp.close() 
    fenetre.mainloop()

Discussions similaires

  1. Lecture fichier texte ligne par ligne
    Par LinuxUser dans le forum C++
    Réponses: 7
    Dernier message: 14/01/2013, 15h27
  2. Lecture 2 fichiers ligne par ligne
    Par tourby dans le forum Fortran
    Réponses: 5
    Dernier message: 06/09/2010, 09h08
  3. Réponses: 8
    Dernier message: 18/07/2010, 21h16
  4. Lecture de fichier ligne par ligne
    Par chreks dans le forum Fortran
    Réponses: 4
    Dernier message: 19/05/2008, 18h09
  5. Lecture de fichier ligne par ligne avec caractères spéciaux
    Par Australia dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 28/11/2007, 15h30

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