Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 9, 2016 09:59:50

azazell00
Зарегистрирован: 2014-10-26
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как избавиться от символа экранирования при форматировании стринга

Есть 4 стринга с которых мне нужно сгенерить SQL запрос.

>>> columns
"'title'"
>>> placeholders
"'title1'"
>>> table
'section'
>>> query
'INSERT INTO "{table}" ({columns}) VALUES ({placeholders}) RETURNING "{table}_id"'
#но при использовании str.format() перед одиночными кавычками вставляется \
>>> query.format(table=table, columns=columns, placeholders=placeholders)
'INSERT INTO "section" (\'title\') VALUES (\'title1\') RETURNING "section_id"'

я так понимаю это экранирование. Подскажите пожалуйста как правильно отформатировать строку чтобы этого символа не было

Офлайн

#2 Янв. 9, 2016 10:07:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как избавиться от символа экранирования при форматировании стринга

azazell00
как правильно отформатировать строку чтобы этого символа не было
Так его там и нет, это просто функция repr() выводит. Выведи результат через print() и увидишь.



Офлайн

#3 Янв. 9, 2016 10:59:57

azazell00
Зарегистрирован: 2014-10-26
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как избавиться от символа экранирования при форматировании стринга

а как мне его скормить правильно функции cursor.execute() чтоб не материлась?

Офлайн

#4 Янв. 9, 2016 11:15:14

azazell00
Зарегистрирован: 2014-10-26
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как избавиться от символа экранирования при форматировании стринга

спасибо, нашел ошибку, она была sql синтаксисе

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version