bolossev666
@bolossev666

Ошибка TypeError: sequence item 0: expected str instance, dict found что делать?

import json
persones = []

def users_persone():


    name = input('Введите имя контакта - ')
    tel = input('Введите номер - ')

    persone = {name: tel}

    persones.append(persone)
    MyFile = open('C:\HP\proverka.txt', 'w')
    MyFile.writelines(persones)
    MyFile.close()

    with open('persones.json', 'w') as file:
        json.dump(persones, file, ensure_ascii=False)
    return persone


def main():
    l = True
    while l:

        users_choise = input("Желаете ввести или получить контактные данные - ")

        if users_choise == 'ввести':
            users_persone()



        elif users_choise == "получить":
            print(MyFile)

        users_choise_two = input("Желаете остановить програму - ")

        if users_choise_two == 'да':
            print("Програма закрыта")
            l = False


main()


хочу что бы код сохранял номер и имя в текстовой файл но выдаёт ошибку
  • Вопрос задан
  • 902 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
MyFile = open('C:\HP\proverka.txt', 'w')
MyFile.writelines(persones)
MyFile.close()

writelines() ожидает получить на вход массив СТРОК, а ты даёшь массив словарей. Отсюда и ошибка.
Зачем ты вообще этот фрагмент написал, если чуть дальше у тебя нормальное сохранение в json?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы