#python-3.x
#python-3.x
Вопрос:
Я получаю ошибку отступа: unindent не соответствует внешнему уровню отступа). Я написал следующий код
if in_files[idx] not in results_dic:
results_dic[in_files[idx]] = [pet_label]
else print("** Warning: Duplicate files exist in directory:" , in_files[idx])
else print("** Warning: Duplicate files exist in directory:" in_files[idx])
Я хочу избавиться от ошибки отступа, пожалуйста, кто-нибудь может мне помочь. Спасибо.
Комментарии:
1. У вас проблема с форматированием (смешивание табуляции и пробелов, разное количество пробелов). Трудно сказать, включили ли вы ее без форматирования
Ответ №1:
Если ваш код уже есть в форме ниже, убедитесь, что в строках 2 и 4 используется только tabs
или spaces
. Подтвердите, что вы не использовали tab
для одной строки и spaces
для другой строки. Если вы использовали spaces
для обеих строк 2 и 4, подтвердите, что вы сделали отступ на точно такое же количество spaces
. Для строк 1 и 3 убедитесь, что в начале любой строки нет space
.
if in_files[idx] not in results_dic:
results_dic[in_files[idx]] = [pet_label]
else:
print("** Warning: Duplicate files exist in directory:", in_files[idx])
Ответ №2:
Отступы важны в python, вы не можете просто сделать любой интервал, который вы хотите. Также будьте осторожны с [Tab]
ключом, поскольку он может вставить символ табуляции ( t
), который отличается от [Space]
.
if in_files[idx] not in results_dic:
results_dic[in_files[idx]] = [pet_label]
else:
print("** Warning: Duplicate files exist in directory:" , in_files[idx])
Ответ №3:
Вероятно, вы можете оптимизировать свой код таким образом, как обновление. Обратите внимание, что я предположил некоторые вещи о вашем отсутствующем коде.
results_dic = {}
in_files = [.....]
pet_label = '....'
for idx in in_files:
file = in_files[idx]
if file not in results_dic:
results_dic[file] = [pet_label]
else:
print("** Warning: Duplicate files exist in directory:", file)