Как взять словарь в кавычки в python?
Я записываю словарь в базу данных mysql, но поскольку строку записать в столбец нельзя, я беру словарь в кавычки, а уже после, когда беру эту строку из бд я убираю кавычки с помощью ast.literal_eval и получаю словарь. Это работает как json. Если я сам напишу к примеру "{'test': 123}" и запишу в бд, это сработает. Но если у меня есть готовый словарь, значение которого уже есть и хранится в переменной, записать я его не могу. Я пытался делать str(dict_name) но появляется mysql syntax error.
Как преобразовать словарь в строку, чтобы был как бы словарь, но с кавычками, и считался строкой? Ведь я не могу записать словарь в бд.
Ответы (2 шт):
Всё должно работать:
d = {'test': 123}
s = str(d)
print(d) # {'test': 123}
print(type(d)) # <class 'dict'>
print(s) # {'test': 123}
print(type(s)) # <class 'str'>
Все, что нужно - добавить кавычки. Хотя бы даже и так:
d = {'test': 123}
s = '"' + str(d) + '"'