# Phone-book.py
file = \
( '/home/Files/PhoneBook.txt' )
# Путь до файла.
contacts = {
'Name1' :'12-34-56' ,
'Name2' :'45-67-89' ,
'Name3' :'98-65-32'
}
def addAbon( c) :
phbk = open ( file , 'w' )
# Файл открыт на запись. Для чтения надо открыть без
# второго параметра, либо с R.
for name, numb in c.items ( ) :
abon= ( f'{name} - {numb}\n ' )
phbk.write ( abon)
phbk.close ( )
print ( '\n Файл создан.\n ' \
'Контакты добавлены в список.\n Файл закрыт.\n ' )
# Блок для проверки:
phbk = open ( file )
print ( f' После создания:\n ' )
for str in phbk:
print ( f' ' , str , end= '' )
# добавление номеров
# функция работает
addAbon( contacts)
phbk = open ( file , 'r+' )
# Файл открыт на чтение и добавление.
nAbon = 'Name2'
nNumb = 'поменял номер, пока неизвестно.'
for str in phbk:
# print(str, end='')
# Вывод всего файла.
if nAbon in str :
# Поиск строки с именем.
str = f'{nAbon} - {nNumb} \n '
phbk.write ( str )
continue
phbk.close ( )
# Изменение значения в переменной и ее запись в файл.
print ( '\n Изменения внесены. Файл закрыт.\n ' )
# Блок для проверки:
phbk = open ( file )
# Файл открыт на чтение (режим по умолчанию.)
print ( f' После редактирования:\n ' )
for str in phbk:
print ( f' ' , str , end= '' )
phbk.close ( )
IyBQaG9uZS1ib29rLnB5CgpmaWxlPVwKKCcvaG9tZS9GaWxlcy9QaG9uZUJvb2sudHh0JykKIyDQn9GD0YLRjCDQtNC+INGE0LDQudC70LAuCgpjb250YWN0cyA9IHsKICAgICdOYW1lMSc6JzEyLTM0LTU2JywKICAgICdOYW1lMic6JzQ1LTY3LTg5JywKICAgICdOYW1lMyc6Jzk4LTY1LTMyJwp9CgpkZWYgYWRkQWJvbihjKToKICAgIHBoYmsgPSBvcGVuKGZpbGUsICd3JykKICAgICMg0KTQsNC50Lsg0L7RgtC60YDRi9GCINC90LAg0LfQsNC/0LjRgdGMLiDQlNC70Y8g0YfRgtC10L3QuNGPINC90LDQtNC+INC+0YLQutGA0YvRgtGMINCx0LXQtwogICAgIyDQstGC0L7RgNC+0LPQviDQv9Cw0YDQsNC80LXRgtGA0LAsINC70LjQsdC+INGBIFIuCiAgICBmb3IgbmFtZSwgbnVtYiBpbiBjLml0ZW1zKCk6CiAgICAgICAgYWJvbj0oZid7bmFtZX0gLSB7bnVtYn1cbicpCiAgICAgICAgcGhiay53cml0ZShhYm9uKQogICAgcGhiay5jbG9zZSgpCiAgICBwcmludCgnXG7QpNCw0LnQuyDRgdC+0LfQtNCw0L0uXG4nXAogICAgJ9Ca0L7QvdGC0LDQutGC0Ysg0LTQvtCx0LDQstC70LXQvdGLINCyINGB0L/QuNGB0L7Qui5cbtCk0LDQudC7INC30LDQutGA0YvRgi5cbicpCgojINCR0LvQvtC6INC00LvRjyDQv9GA0L7QstC10YDQutC4OgogICAgcGhiayA9IG9wZW4oZmlsZSkKICAgIHByaW50KGYnICAgINCf0L7RgdC70LUg0YHQvtC30LTQsNC90LjRjzpcbicpCiAgICBmb3Igc3RyIGluIHBoYms6CiAgICAgICAgcHJpbnQoZicgICAgJyxzdHIsIGVuZD0nJykKIyDQtNC+0LHQsNCy0LvQtdC90LjQtSDQvdC+0LzQtdGA0L7QsgojINGE0YPQvdC60YbQuNGPINGA0LDQsdC+0YLQsNC10YIKCmFkZEFib24oY29udGFjdHMpCgpwaGJrID0gb3BlbihmaWxlLCdyKycpCiMg0KTQsNC50Lsg0L7RgtC60YDRi9GCINC90LAg0YfRgtC10L3QuNC1INC4INC00L7QsdCw0LLQu9C10L3QuNC1LgoKbkFib24gPSAnTmFtZTInCm5OdW1iID0gJ9C/0L7QvNC10L3Rj9C7INC90L7QvNC10YAsINC/0L7QutCwINC90LXQuNC30LLQtdGB0YLQvdC+LicKCmZvciBzdHIgaW4gcGhiazoKICAgICMgcHJpbnQoc3RyLCBlbmQ9JycpCiMg0JLRi9Cy0L7QtCDQstGB0LXQs9C+INGE0LDQudC70LAuCiAgICBpZiBuQWJvbiBpbiBzdHI6CiMg0J/QvtC40YHQuiDRgdGC0YDQvtC60Lgg0YEg0LjQvNC10L3QtdC8LgogICAgICAgIHN0ciA9IGYne25BYm9ufSAtIHtuTnVtYn0gXG4nCiAgICAgICAgcGhiay53cml0ZShzdHIpCiAgICBjb250aW51ZQpwaGJrLmNsb3NlKCkKIyDQmNC30LzQtdC90LXQvdC40LUg0LfQvdCw0YfQtdC90LjRjyDQsiDQv9C10YDQtdC80LXQvdC90L7QuSDQuCDQtdC1INC30LDQv9C40YHRjCDQsiDRhNCw0LnQuy4KcHJpbnQoJ1xu0JjQt9C80LXQvdC10L3QuNGPINCy0L3QtdGB0LXQvdGLLiDQpNCw0LnQuyDQt9Cw0LrRgNGL0YIuXG4nKQoKIyDQkdC70L7QuiDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuDoKcGhiayA9IG9wZW4oZmlsZSkKIyDQpNCw0LnQuyDQvtGC0LrRgNGL0YIg0L3QsCDRh9GC0LXQvdC40LUgKNGA0LXQttC40Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uKQpwcmludChmJyAgICDQn9C+0YHQu9C1INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y86XG4nKQpmb3Igc3RyIGluIHBoYms6CiAgICBwcmludChmJyAgICAnLHN0ciwgZW5kPScnKQpwaGJrLmNsb3NlKCk=