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 à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 19
    Points
    19
    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 habitué Avatar de duplo
    Inscrit en
    Octobre 2004
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2004
    Messages : 294
    Points : 172
    Points
    172
    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 régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Points : 81
    Points
    81
    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