Проблема с eval()
Вот код
users = []
with open(f'{tdir(__file__)}/data.txt'.replace('\\', '/').replace('b.py/', ''), "r", encoding = 'utf-8') as file:
lines = [x.replace('\n', '') for x in file.readlines()]
file.close()
for line in lines:
print(line)
line = eval('{' + line + '}')
if line != '{}':
users.append(User(speed = line["speed"], gun = line["gun"], money = line["money"], mode = line["mode"], id = line["id"]))
return users
Проблема с eval(). Выдаёт такую ошибку:
line = eval('{' + line + '}')
File "<string>", line 1, in <module>
NameError: name 'start' is not defined
Что не так?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Поскольку start у вас там без кавычек "mode" : start, питон ищет переменную с таким названием, чтобы подставить её значение, и не находит. Возьмите start в кавычки "mode" : "start", либо опишите ранее в коде переменную start = "чего-нибудь", если там какое-то другое значение должно быть.