2017-01-07 9 views
-1

Как бы вы изменили определенный элемент в списке в текстовом файле?
Если у вас есть текстовый файл, изложенный в качестве таких:
адрес электронной почты, пароль
электронной почты, пароль
адрес электронной почты, пароль
Как вы можете искать электронную почту, а затем изменить пароль для этого по электронной почте?
Я знаю, что это очень расплывчато, поэтому я рад ответить на любые вопросы об этом.Python: Как добавить определенный элемент в список в текстовом файле

+0

Вы не можете изменить текстовый файл, когда новый пароль длиннее старого. Вы можете прочитать весь файл в словаре, изменить значение (пароль) ключа (email) и записать словарь обратно в файл. Кстати: такой список адресов электронной почты никогда не должен существовать! Он крайне небезопасен в любой среде. – Marvo

+0

@Marvo не беспокоится, что он не хранит какую-либо защищенную информацию, просто проект, над которым я работаю, нет способа вообще добавить какой-то элемент в список? – Tom

+0

Конечно, вы можете использовать список вместо словаря. – Marvo

ответ

0

Этот код считывает файл паролей в словарь и заменяет или добавляет электронный-passord-комбинации:

dictionary = {} 

with open("password.txt") as file: 
    for line in file: 
     e, p = line.strip().split(", ") 
     dictionary[e] = p 

email = input("Enter email: ") 
password = input("Enter new password: ") 

dictionary[email] = password 

with open("password.txt","w") as file: 
    for e,p in dictionary.items(): 
     print(e,p,sep=", ",file=file) 

Файл паролей может быть такой:

[email protected], old_password 
[email protected], uzt(647zt2(/r 
[email protected], zzzzzappp! 
[email protected], password 
[email protected], correct horse battery staple 
[email protected], topsecret 
+0

Это ошибка, с которой я получаю: для e, p в словаре.items(): NameError: name 'dictionary' не определен – Tom

+0

Вы удалили первую строку? – Marvo