Bonjour,

Je travail sur une modeste interface graphique qui doit lire un fichier texte. Fichier dans lequel se trouve des URL auxquelles j'applique un style et une commande webbrowser pour m'ouvrir la page. Cela fonctionne mais mon interface ne retiens que la dernière adresse. Pour tenter de corriger ce problème j'ai mis chaque url dans une liste pour que webbrowser m'ouvre les liens les uns après les autres mais ça fonctionne encore moins puisqu'il me dresse un IndexError : list out of range

Voilà le code :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
import webbrowser
import Tkinter as tk
from Tkinter import *
from ScrolledText import *
 
def Liens():
	links = []
 
	for line in news : 
		if "http" in line :
			links.append(line)
 
	return links
 
 
#Ouverture du fichier à consulter
newsletter = open("logs/NewsletterLog.txt", "r") 
news=newsletter.readlines()
 
link=Liens()
 
#création de la fenêtre de visualisation de la newsletter TOTEM
fenetre = tk.Tk()
fenetre.title("TOTEM")
 
contenu = tk.Label (fenetre, text="Semaine Test")
contenu.pack()
 
#Création de la zone Texte 
 
texte = ScrolledText(fenetre, width = 150, height = 35, font = "Arial 10", relief = "groove") 
i=0
 
for line in news : 
	if "http" in line :
		texte.insert(tk.END, line , 1)
		texte.tag_config(1, foreground="blue", underline=1)
		texte.tag_bind(1, '<Button-1>', lambda e: webbrowser.open(link[i], new=0, autoraise=True))
		texte.pack()
		i+=1
 
	else : 
		texte.insert(tk.END, line)
		texte.pack()
 
#texte.pack() 
 
#Ecriture des données
texte.config(state = NORMAL)    #Permettre l'écriture 
texte.insert("1.0", line)       #Gestion de l'insertin des lignes  #1 = 1ere ligne  0 = 1er caractere de la ligne 
texte.config(state = DISABLED)  #Interdire les modifications 
 
 
#bouton de sortie
tk.Button(fenetre, text="Quitter", command=fenetre.destroy).pack()
 
fenetre.mainloop()
 
#fermeture du fichier
newsletter.close()
Bon je suis sûr que c'est sans doute assez bête comme erreur mais je ne vois pas comment la corriger.

Merci