Signaler

Utiliser une variable pour définir le membre de la liste [Résolu]

Posez votre question M3NSONG3 394Messages postés mardi 16 avril 2013Date d'inscription 12 août 2017 Dernière intervention - Dernière réponse le 12 juin 2017 à 17:18 par M3NSONG3
Bonjour,


Je développe actuellement un système en Python, mais un problème reste totalement inexpliqué pour ma part :

Dans mon code j'ai :

BanExtension = [".py", ".asi", ".mix", ".flt",".m3d"]

Tban = len(BanExtension)

i = 0




Et d'un autre côté j'ai :


while i != Tban:
Ordner = os.listdir('.')
Ordner.sort()
for Datei in Ordner:
global i
if Datei.find(BanExtension[i]) != -1:
dbg.LogBox("Une erreur est survenue: " + str(Datei) + "")
try:
os.remove(Datei)
except:
dbg.LogBox("Erreur !")
dbg.LogBox("Fichier: " + str(Datei))
app.Abort()
else:
pass
i+=1


Sauf que j'ai une erreur sur cette ligne :
if Datei.find(BanExtension[i]) != -1: 


Erreur =
 name 'i' is used prior to global declaration


Je voudrais en fait choisir les membres de la liste un par un pour le scan, mais je ne sais pas du tout comment faire.

Merci de votre aide !

Afficher la suite 
Utile
+1
plus moins
Bonjour,

global s'utilise dans une fonction et non dans une boucle « for »
Cette réponse vous a-t-elle aidé ?  
M3NSONG3 394Messages postés mardi 16 avril 2013Date d'inscription 12 août 2017 Dernière intervention - 12 juin 2017 à 15:03
C'était un test, avec ou sans, j'ai la même erreur
Répondre
Felice_ 266Messages postés mardi 25 avril 2017Date d'inscription 20 juillet 2017 Dernière intervention - 12 juin 2017 à 15:49
Ton erreur vient bien du global mal placé.

C'est bien écrit que tu utilises ta variable i avant la déclaration global, de plus global s'utilise dans une fonction…
Répondre
M3NSONG3 394Messages postés mardi 16 avril 2013Date d'inscription 12 août 2017 Dernière intervention - 12 juin 2017 à 17:06
Si je dois le mettre, où le mettre alors ? '-'
Merci de ton aide.
Répondre
M3NSONG3 394Messages postés mardi 16 avril 2013Date d'inscription 12 août 2017 Dernière intervention - 12 juin 2017 à 17:18
Problème résolu, je suis passé par la boucle for.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !