2016-11-23 5 views
-1

на управлении ошибку, пришедшего каккосяк использование переменной вне контура питона

«„траверс“имя не определено»

Belows код

for subdir, dirs, files in os.walk(DIR): 
    traverse = list(set(dirs).intersection(set(LIST))) 
    break 

print "Working ", traverse 
print "Starting" 
+0

Да, область видимости. Вы пытались объявить вне цикла или распечатать внутри? –

+7

Вы уверены, что была выполнена хотя бы одна итерация цикла? –

+2

@ cricket_007 я сомневаюсь, что это не имеет ничего общего с размахом ... и Python не имеет декларации ... –

ответ

1

Там может быть вероятность того, что цикл не повторяется даже один раз, переменная traverse еще не имеет значения.

вы можете попробовать ниже, чтобы проверить:

traverse =None 
for subdir, dirs, files in os.walk(DIR): 
    traverse = list(set(dirs).intersection(set(LIST))) 
    break 

if traverse is None: 
    print("loop did not execute") 
else: 
    print("Working ", traverse)