Как мне исправить присвоение переменной в этом коде Python?Итак, у меня есть этот код Python:
with open('save.data') as fp:
save_data = [line.split(' = ') for line in fp.read().splitlines()]
with open('brute.txt') as fp:
brute = fp.read().splitlines()
for username, password in save_data:
if username in brute:
break
else:
print("didn't find the username")
Хорошо, быстрое объяснение;save.data
- это файл, который содержит переменные игры в Batch-файле (такие как имя пользователя, hp и т. д.)).
save.data
:
username1 = PlayerName
password1 = PlayerPass
hp = 100
Как я уже говорил, это игра с пакетным файлом, поэтому не нужно заключать строки в кавычки.
brute.txt
:
username
username1
password
password1
health
hp
Итак, когда код Python выполняется, он загружает содержимое двух файлов и сохраняет их в списке, а затем перебирает имя пользователя и пароль, «перебивая» их, пока они не совпадут с тем, что на brute.txt
,и они назначают себя автоматически.Но проблема в назначении, когда я пытаюсь print
их (переменные), это происходит:
## We did all the previous code
...
>>> print(save_data)
[['username', 'PlayerName'], ['password', 'PlayerPass'], ['health', '100']]
>>> print("Your username is: " + username)
username
>> print("Your password is: " + password)
PlayerName
>> print("Your health is: " + hp)
NameError: name 'hp' is not defined
Итак, есть идеи о том, как исправить конфликт назначения?Если вы что-то не поняли, пожалуйста, прокомментируйте это, и я проясню это.