Очень новый для python - только что начал использовать его вчера. Я запускаю цикл for, который сканирует текстовый файл и копирует определенные его части в переменные, которые затем будут помещены в класс post. Я хочу создать новое сообщение в нижней части цикла с именем «post0», «post1» и т. Д., Соответствующее количеству раз, за которое цикл for был запущен. Это то, что я пытаюсь использовать:Получение KeyError при попытке создания нескольких переменных в for loop («post0», «post1» и т. Д.)
postname = globals()['post%s' % s]
И я в настоящее время пытаюсь иметь его напечатать название поста каждый раз, когда он создает один с простым print(postname)
. 's' - это переменная, из которой цикл цикла заканчивается, если это имеет смысл. Он начинается с 0 и доходит до количества строк в текстовом файле, в настоящее время 424.
Когда я запускаю код, он возвращает «KeyError: post0». Что я делаю не так?
Кроме того, чтение здесь кажется, что создание переменных таким образом является плохой практикой. Если есть более эффективный способ сделать это, я был бы счастлив попробовать это вместо этого, но я также хотел бы знать, как заставить этот метод работать, чтобы я понял концепцию. Благодарю.
Редактировать: проблема решена! См. Мой ответ ниже.