Liste en python3

Résolu/Fermé
Erwan2212 Messages postés 14 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 21 juin 2020 - 13 juin 2020 à 16:04
Erwan2212 Messages postés 14 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 21 juin 2020 - 13 juin 2020 à 20:49
Bonjour

Ce fait un petit programme en python qui permet recuperer le chemin d'un fichier qui est enregistrer dans une liste jusque là tout va bien mais dès que je recuperer le contenu de la liste dans une variable elle n'a que le dernier element je ne sais pas pourquoi.
voici mon code:
b = pickle.load(fp)
		for i in range(0, len(b)):
			path = os.path.join('',*b[i])
			if os.path.isfile(path):
				liste.append(path)


Merci d'avance

3 réponses

yg_be Messages postés 23313 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 novembre 2024 Ambassadeur 1 552
13 juin 2020 à 20:25
bonjour,
il me semble que tu ne nous montres qu'une partie de ton programme.
même si tu penses que l’erreur est dans cette partie, cela ne nous aide pas à comprendre l'ensemble.
veux-tu dire que liste ne contient qu'un element?
essaies-tu de comprendre ce que fait le programme que tu as écrit? as-tu affiché len(b), et, dans la boucle, avant le if, path, et ensuite liste dans le if, puis liste après la boucle?
montre-nous ton code avec ces affichages supplémentaires, ainsi que les information affichées.
1
Erwan2212 Messages postés 14 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 21 juin 2020
13 juin 2020 à 20:34
Merci de me répondre le voici
la fonction qui contient le code
def itemGet(self):
		liste = []
		with open("./list/"+self.vt.lect_list.currentItem().text(), "rb") as fp:
			b = pickle.load(fp)
		for i in range(0, len(b)):
			path = os.path.join('',*b[i])
			if os.path.isfile(path):
				liste.append(path)
		self.addToPlaylist(liste)
		self.player.play()
		index = self.Liste.model().index(self.playlist.currentIndex(),0)
		self.Liste.setCurrentIndex(index)

Et oui j'ai déjà essayer affiché b[i] tout est normal mais j'ai essayé aussi afficher la variable liste après la boucle mais il ne prend que la dernière élément de la variable b.
Merci
0
yg_be Messages postés 23313 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 novembre 2024 1 552
13 juin 2020 à 20:43
as-tu affiché len(b), et, dans la boucle, avant le if, path, et ensuite liste dans le if, puis liste après la boucle?
montre-nous ton code avec ces affichages supplémentaires, ainsi que les information affichées.
0
Erwan2212 Messages postés 14 Date d'inscription mardi 19 mai 2020 Statut Membre Dernière intervention 21 juin 2020
13 juin 2020 à 20:49
Si je pose ici tout mon code c'est un peu long et cette fonction est indépendante; et à propos de ce que vous dites en haut, oui j'ai déjà tout fait pour vérifier mais la variable liste après la boucle ne prend que la dernière, je ne sais pas pourquoi?

Merci
0